/* */

Chris  -  Home-Assistant + Zigbee

 
Riki und Rudi Chris Michi Doris 

MQTT / ZIGBEE - zigbee2mqtt

1. cc2530+cc2591 flashen über raspi ohne extra debugger hardware siehe:

github.com/jmichault/flash_cc2531

5 pins verbinden, natürlich auf die richtigen pin nummern achten ...

Pins auf der zigbee Platine:
P2.2 = DC 
P2.1 = DD

2. zigbee platine mit serial wandler oder raspi verbinden:

www.zigbee2mqtt.io/information/connecting_cc2530.html

minicom zeigt nix an. nicht schrecken

beim DietPi muss in der /DietPi/config.txt enable_uart=1 und dtoverlay=disable-bt eingetragen werden, in /boot/cmdline.txt muss glaub ich console=serial0,115200 entfernt werden

3. zigbee2mqtt installieren + configurieren (serial port + mqtt server in der configuration.yaml z.b.)

Für dietPi ohne docker: https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html

fehlt beim npm install das ast dann:

apt-get install python2.7

Einrichten / Upgrade: https://www.zigbee2mqtt.io/getting_started/running_zigbee2mqtt.html

4. mqtt einrichten (mosquito)

mosquitto (mqtt server) auch gleich mit installieren

home-assistant config siehe:

https://www.zigbee2mqtt.io/integration/home_assistant

homeassistant: true
#permit_join: true
permit_join: false
mqtt:
 base_topic: zigbee2mqtt
 server: 'mqtt://home-assistant'
serial:
 port: /dev/ttyUSB0
advanced:
 # Optional: RTS / CTS Hardware Flow Control for serial port (default: true)
 rtscts: false

 # Optional: Logging level, options: debug, info, warn, error (default: info)
 log_level: info
 # Optional: Location of log directory (default: shown below)
 log_directory: data/log/%TIMESTAMP%
 # Optional: Output location of the log (default: shown below), leave empty to supress logging (log_output: [])
 log_output:
- console
# - file
#
advanced:
# dd if=/dev/urandom bs=1 count=16 2>/dev/null | od -A n -t u1 | awk '{printf "["} {for(i = 1; i< NF; i++) {printf "%s, ", $i}} {printf "%s]\n", $NF}'
network_key: [7, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 11, 12, 13]
 # Optional: ZigBee channel, changing requires re-pairing of all devices. (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)
# (default: 11) c't 2018/25 15 / 20 / 25 / 26 verwenden
 # TODO !!!!
channel: 26

5. Devices Pairen

*wichtig* die devices müssen wirklich nahe beim ZigBee coordinator sein.

Müller (Hofer) LED Lampen: einfach reinschrauben zum resetten 5* ein ausschalten

Ikea Tradfri E1745 in der Anleitung steht 10s zum pairen drücken. hat nicht funktioniert. entweder wars eine halbe Minute oder 15* kurz drücken. es leuchtet auf der Vorderseite dann eine rote led

 

 

ZigBee map erstellen

Integration in den Home-Assistan, mit HACS installieren

zigbee2mqtt-networkmap

github.com/azuwis/zigbee2mqtt-networkmap/

=========== alt ==============

#!/bin/bash
# Error: remove_overlap: Graphviz not built with triangulation library
# => aus graphics das graphviz installieren
# zypper install mosquitto-clients graphviz

MQTT_HOST=home-assistant
# -u mqtt_broker_user -P mqtt_broker_pass
MQTT_LOGIN=""

DONE=''
exec 5<> <(:)

function do_capture() {
       mosquitto_sub -V mqttv311 -C 1 $MQTT_LOGIN -h $MQTT_HOST -t zigbee2mqtt/bridge/networkmap/graphviz >&5 &
       sub_pid=$!
       OUT=''
       while read -t 5 line ; do
               echo ">>>$line<<<"
               OUT+="$line
"
       done <&5
       kill $sub_pid
       echo "==============================$OUT=================================="
       echo "$OUT" | sed -e 's/|EndDevice//' -e 's/|[^|]\+(.*)|/|/' -e 's/No [^|]\+|//' | sfdp -Tpng > map.$(date +%Y%m%d%H%M%S).png
       echo ""
}

do_capture &

sleep 1

echo "sending zigbee2mqtt/bridge/networkmap"
mosquitto_pub -V mqttv311 $MQTT_LOGIN -h $MQTT_HOST -m "graphviz" -t zigbee2mqtt/bridge/networkmap
echo "done"

sleep 5
exec 5<&-

Custom Zigbee device

Mit CC2530+CC2592 / CC2531:

https://www.zigbee2mqtt.io/devices/ptvo.switch.html

CC2531 usb dongle gibts billig bei den chinesen. 1,27mm Buchsenleiste kaufen 2*5, Stift + Buchsenleiste 1*8, 1,27mm Platine, Solid State Relais (Omron G3MB-202P)

 

in der Firmware Configuration

Für den CC2531 USB Dongle: CC2530 (no external Oscillator) auswählen

Müsste gehen:

* cc2531 USB Dongle (flashen über RaspberryPI)
* 2W mini 3,3V Netzteil
* MOC3023 (+TRIAC) + 150-220OhmR für die LED + Spule (68µH) + Varistor (MOV-14D391K)
* Bewegungsmelder
* Ikea Lampe

J4

 

1P0.2
switch1
2

P0.3

switch2
3P0.4
4P0.5ADC
5P1.7
6P1.6
7P1.5
8P1.4input (z.b. PIR)

J3

 cc2531 debug port

 Wichtig: .hex file speichern, config settings (ini) und die z2m datei (muss in der zigbee2mqtt config eingetragen werden, eventuell muss ma das model dafür anpassen)

zum pairen 10s auf den einen Taster drücken