IO-Broker
Willkommen auf unserer IO-Broker Wiki Seite
Inhaltsverzeichnis
- 1 Home
- 2 Wiki
- 3 Forum
- 4 Der kleine ioBroker/Linux-Werkzeugkasten
- 5 Installieren
- 6 Console commands
- 7 Info
- 8 Update
- 9 Nodejs
- 10 my IO-Broker
- 11 Administration auf Konsole
- 12 haus-automatisierung.com
- 13 Adapter Entwicklung
- 14 Docker
- 15 Multihost
- 16 ESP-Easy
- 17 ESPHome
- 18 Tasmota
- 19 ZigBee
- 20 simpleAPI
- 21 Tuya Integration
- 22 Fehlerbeseitigung
- 23 USB Devices im ioBroker Docker Container nutzen
Home
https://www.iobroker.net/?lang=de
Wiki
https://www.iobroker.net/?lang=de#de/documentation
Forum
https://forum.iobroker.net/
Der kleine ioBroker/Linux-Werkzeugkasten
https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
Installieren
https://iotspace.dev/smarthome-teil1-iobroker-installation-und-config/
https://www.dev-metal.ch/?p=1362
TUTORIAL: IOBROKER-INSTALLATION AUF DEM RASPBERRY PI
https://www.allroundbastler.de/projekte/iobroker-installation-auf-dem-raspberry-pi/
Install
Installer version: 2022-02-13 sudo curl -sLf https://iobroker.net/install.sh | bash -
sudo su curl -sL https://deb.nodesource.com/setup_12.x | bash - apt install -y nodejs
node --version npm --version
pi@raspberrypi-59:~ $ node --version v14.18.2 pi@raspberrypi-59:~ $ npm --version 6.14.15
Remove
Iobroker löschen Deinstallation von ioBroker ioBroker kann restlos entfernt werden mit: update-rc.d iobroker.sh remove rm /etc/init.d/iobroker.sh rm /opt/iobroker/* -R In diesem Fall bleibt der Ordner /opt/iobroker bestehen. Falls dieser auch noch entefrnt werden soll kann das mit rmdir /opt/iobroker/ geschehen.
Console commands
https://github.com/ioBroker/ioBroker/wiki/Console-commands
Info
iobroker status iobroker version
Update
sudo iobroker stop sudo iobroker update sudo iobroker upgrade self sudo iobroker start
Nodejs
[HowTo] Nodejs-Installation und Upgrades unter Debian
https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian
cd /opt/iobroker npm ls | grep -E 'github|ERR' cd /opt/iobroker && npm prune
sudo apt update sudo apt upgrade sudo apt dist-upgrade iobroker stop sudo nano /etc/apt/sources.list.d/nodesource.list
#node 14 deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x bullseye main #node 16 deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x bullseye main deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x bullseye main
sudo apt update sudo apt upgrade
apt policy nodejs
echad@chet:/opt/iobroker $ apt policy nodejs nodejs: Installed: 16.15.1-deb-1nodesource1 Candidate: 16.15.1-deb-1nodesource1 Version table: *** 16.15.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x bullseye/main arm64 Packages 100 /var/lib/dpkg/status 14.19.3-deb-1nodesource1 500 500 https://deb.nodesource.com/node_14.x bullseye/main arm64 Packages 12.22.5~dfsg-2~11u1 500 500 http://deb.debian.org/debian bullseye/main arm64 Packages 500 http://security.debian.org/debian-security bullseye-security/main arm64 Packages
sudo apt install nodejs=VERSIONSNUMMER-deb-1nodesource1
sudo ln -s /usr/bin/node /usr/bin/nodejs uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
echad@chet:~ $ uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs aarch64 /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.15.1 v16.15.1 8.11.0 echad Hit:1 http://archive.raspberrypi.org/debian bullseye InRelease Hit:2 http://deb.debian.org/debian bullseye InRelease Hit:3 http://security.debian.org/debian-security bullseye-security InRelease Hit:4 http://deb.debian.org/debian bullseye-updates InRelease
sudo ln -s /usr/bin/node /usr/bin/nodejs
iobroker fix iobroker start
Install Node.js and Npm on Raspberry Pi
https://www.instructables.com/id/Install-Nodejs-and-Npm-on-Raspberry-Pi/
Node.js auf dem Raspberry Pi installieren
https://maker-tutorials.com/node-js-raspberry-pi-installieren/
Upgrade Node.js/npm in Raspbian on Raspberry Pi
https://medium.com/@bipul.k.kuri/upgrade-node-js-npm-in-raspbian-on-raspberry-pi-f1bcdaa23db5
beginners-guide-to-installing-node-js-on-a-raspberry-pi
https://thisdavej.com/beginners-guide-to-installing-node-js-on-a-raspberry-pi/
https://www.youtube.com/watch?v=S4-MhZ1NfYY
my IO-Broker
https://192.168.0.89:8081 https://192.168.0.89:8090 nicht aktiviert https://178.254.41.94:8081 http://178.254.41.94:8090
http://192.168.0.83:8081
Administration auf Konsole
ioBroker läuft nicht mehr
https://www.iobroker.net/docu/index-26.htm?page_id=3928&lang=de
Command line interface
https://www.iobroker.net/docu/index-98.htm?page_id=3971&lang=de
Hilfreiches
iobroker list instances iobroker start admin.0 iobroker start admin.1 iobroker stop admin.0 iobroker stop admin.1
echarts.0 sql.1 sql.2 flot.0 linux-control.0 tr-064.0 vis-weather.0 upnp.0 ping.0 cul.0 javascript.0 influx.0
iobroker set admin.1 --secure true iobroker set admin.1 --secure false
iobroker add admin --port 8090 --enabled
cd /opt/iobroker/node_modules/iobroker.admin mv iobroker.admin iobroker.admin_old iobroker install admin@5.2.0 iobroker list instances iobroker start admin.0
Datenpunkte steuern, aktualisieren, bestätigen und richtig triggern
https://www.machs-smart.de/datenpunkte-steuern-aktualisieren-ack-bestaetigt/
Blockly-Scripte optimieren und Logik-Kurzformen anwenden
https://www.machs-smart.de/blockly-scripte-optimieren-und-logik-kurzformen/
haus-automatisierung.com
https://haus-automatisierung.com/ https://haus-automatisierung.com/iobroker-tutorial-reihe/
Adapter Entwicklung
https://github.com/ioBroker/create-adapter https://adapter-creator.iobroker.in/ https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/adapterdev.md https://herwig.de/anleitungen/smarthome/iobroker/adapter-entwicklung.html https://forum.iobroker.net/topic/17200/aufruf-iobroker-adapter-creator-testen
https://docs.npmjs.com/cli/v7/configuring-npm/package-json
https://adapter-creator.iobroker.in/
https://www.iobroker.net/#de/documentation/dev/adapterdev.md
https://gist.github.com/selbstgemacht/5e33a691627540add6f6101dec931ce3
https://forum.iobroker.net/topic/8538/zugriff-auf-werte-in-einem-json-objekt
https://forum.iobroker.net/topic/3813/json-verarbeiten
https://forum.iobroker.net/topic/15505/http-request-json/6
https://forum.iobroker.net/topic/6165/temperatur-aus-json-auslesen/6
https://forum.iobroker.net/topic/6107/gel%C3%B6st-frage-json-datei-auslesen/9
https://forum.iobroker.net/topic/14169/json-daten-auslesen/4
Docker
docker run -p 8081:8081 --name iobroker-1 -v iobrokerdata1:/opt/iobroker buanet/iobroker:latest docker run -p 8082:8081 --name iobroker-2 -v iobrokerdata2:/opt/iobroker buanet/iobroker:latest docker run -p 8083:8081 --name iobroker-3 -v iobrokerdata3:/opt/iobroker buanet/iobroker:latest
docker run -p 9091:8081 --name iobroker-Master -v iobrokerdatam:/opt/iobroker-4 buanet/iobroker:latest docker run -p 9092:8081 --name iobroker-Slave-1 -v iobrokerdatas1:/opt/iobroker-5 buanet/iobroker:latest
Fujitsu
docker run -p 8081-8099:8081-8099 -p 6062-6063:6052-6053 -p 9100-9101:9000-9001 --cap-add=NET_ADMIN --privileged --name iobroker-Fujitsu -v iobrokerdata:/opt/iobroker buanet/iobroker:latest
IOB Docker auf QNAP
docker run --network qnet-dhcp-bond0-6d6da6 --cap-add=NET_ADMIN --privileged --name iobroker-Qnap –-hostname iobroker-qnap -v iobrokerdata:/opt/iobroker buanet/iobroker:latest
Portweiterleitungen: ESPHome : 49158 -> 6052 Konsole : 49157 -> 8088 / 9088 Admin : 49156 -> 8081 Web : 49159 -> 8082
Bridge Mode
Parameter
Ports : 6052, 8081 - 8089, 8099, 9000 - 9001 Container capabilities NET_ADMIN Privileged mode = true /opt/iobroker -–hostname iob-qnap --network qnet-dhcp-bond0-6d6da6
Multihost
https://www.iobroker.net/docu/index-24.htm?page_id=3068&lang=de
IOB_MULTIHOST master IOB_OBJECTSDB_TYPE file IOB_STATESDB_TYPE file IOB_OBJECTSDB_HOST 0.0.0.0 IOB_OBJECTSDB_PORT 9001 IOB_STATESDB_HOST 0.0.0.0 IOB_STATESDB_PORT 9000
OB_MULTIHOST slave IOB_OBJECTSDB_TYPE file IOB_STATESDB_TYPE file IOB_OBJECTSDB_HOST 172.17.0.7
IOB_OBJECTSDB_PORT 9001 IOB_STATESDB_HOST 172.17.0.7 IOB_STATESDB_PORT 9000
Installation Wichtig: Die verschiedenenen Hosts müssen unbedingt eindeutige Hostnamen besitzen. Dazu installiert man zuerst auf allen verwendeten hosts ganz normal ioBroker. Auf dem Master wird anschließend iobroker setup custom ausgeführt und die folgenden Eingaben gemacht:
Type of objects DB [file, couch, redis], default [file]: ENTER Host of objects DB(file), default[127.0.0.1]: <0.0.0.0> Port of objects DB(file), default[9001]: ENTER Type of states DB [file, redis], default [file]: ENTER Host of states DB (file), default[0.0.0.0]: ENTER Port of states DB (file), default[9000]: ENTER Host name of this machine [hostname]: ENTER
Auf den untergeordneten hosts führt man nach der Installation ebenfalls den folgenden Befehl aus: iobroker setup custom und trägt dort ein:
IP für Fujitsu Master : 192.168.0.20
Type of objects DB [file, couch, redis], default [file]: ENTER Host of objects DB(file), default[127.0.0.1]: <IP ADRESSE> vom Hauptsystem Port of objects DB(file), default[9001]: ENTER Type of states DB [file, redis], default [file]: ENTER Host of states DB (file), default[cubie]:<IP ADRESSE> vom Hauptsystem Port of states DB (file), default[9000]: ENTER Host name of this machine [hostname]: ENTER
Nun das untergeordnete System neu starten.
Ab der Version des js-controller v1.1.3 wird die Einrichtung eines Multihost-Systems noch weiter vereinfacht. Man gibt beim Master nur noch ein: sudo iobroker multihost enable Anschließend auf dem slave: sudo iobroker multihost browse Jetzt müssten vorhandene Master angezeigt werden. Daraufhin wird mit sudo iobroker multihost connect der entsprechenden Master ausgewählt Damit ist die Multihost-Verbindung fertig.
iobroker list hosts iobroker stop iobroker host remove <salve> iobroker fix iobroker start
ESP-Easy
https://www.smarthome-tricks.de/esp8266/espeasy-datenaustausch-mit-iobroker/ https://iotspace.dev/espeasy-sensordaten-per-mqtt-an-iobroker-senden/
ESPHome
Fonts
/opt/iobroker/iobroker-data/esphome.0/fonts
/var/lib/docker/volumes/iobrokerdata/_data/iobroker-data/esphome.1 /home/pi/iobroker-data/esphome.0/fonts
D1Mini
sensor: - platform: dht pin: D4 temperature: name: "DHT Temperature" humidity: name: "DHT Humidity" update_interval: 60s
wifi: networks: - ssid: !secret wifi_ssid - password: !secret wifi_password - ssid: !secret wifi_ssid_2 - password: !secret wifi_password_2 - ssid: !secret wifi_ssid_3 - password: !secret wifi_password_3 - ssid: !secret wifi_ssid_4 - password: !secret wifi_password_4
binary_sensor: - platform: gpio name: "Pin D3" pin: D3 id: PIND3
text_sensor: - platform: version name: "ESPHome Version" - platform: wifi_info ip_address: name: ESP IP Address ssid: name: ESP Connected SSID bssid: name: ESP Connected BSSID mac_address: name: ESP Mac Wifi Address scan_results: name: ESP Latest Scan Results
switch: - platform: gpio name: "Relay" pin: <PIN_RELAY_IS_CONNECTED_TO>
Tasmota
https://www.engineer-but-still-human.com/der-sonoff-adapter-tasmota-geraete-im-iobroker-einbinden/
ZigBee
ZIGBEE 3.0 USB DONGLE PLUS
https://sonoff.tech/product/diy-smart-switch/sonoff-dongle-plus/
CC2531
lsusb ttyACM1 / ttyACM0 ls -l /dev/serial/by-id usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001CDE5891-if00 -> ../../ttyACM1
IOBroker /dev/serial/by-id usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001CDE5891-if00
(17412) Starting zigbee-herdsman problem : "Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001
zigbee.0 2021-08-27 09:24:25.450 info (17481) Zigbee started zigbee.0 2021-08-27 09:24:25.448 info (17481) Currently no devices. zigbee.0 2021-08-27 09:24:25.438 info (17481) --> transmitPower : normal zigbee.0 2021-08-27 09:24:25.429 info (17481) Coordinator firmware version: {"type":"zStack12","meta":{"transportrev":2,"product":0,"majorrel":2,"minorrel":6,"maintrel":3,"revision":20201127}} zigbee.0 2021-08-27 09:24:23.431 info (17481) Installed Version: iobroker.zigbee@1.6.0 zigbee.0 2021-08-27 09:24:23.060 info (17481) Starting Zigbee npm ... zigbee.0 2021-08-27 09:24:22.927 info (17481) starting. Version 1.6.0 in /opt/iobroker/node_modules/iobroker.zigbee, node: v12.22.4, js-controller: 3.3.15 zigbee.0 2021-08-27 09:23:48.341 warn (17463) Terminated (UNCAUGHT_EXCEPTION): Without reason zigbee.0 2021-08-27 09:23:48.339 info (17463) terminating zigbee.0 2021-08-27 09:23:47.851 info (17463) Zigbee: disabling joining new devices. zigbee.0 2021-08-27 09:23:47.847 info (17463) cleaned everything up... zigbee.0 2021-08-27 09:23:47.816 error (17463) SRSP - SYS - osalNvRead after 0,2ms zigbee.0 2021-08-27 09:23:47.815 error (17463) Error: SRSP - SYS - osalNvRead after 0,2ms at Timeout._onTimeout (/opt/iobroker/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35) at listOnTimeout (internal/timers.js:554:17) zigbee.0 2021-08-27 09:23:47.785 error (17463) unhandled promise rejection: SRSP - SYS - osalNvRead after 0,2ms zigbee.0 2021-08-27 09:23:47.784 error (17463) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). zigbee.0 2021-08-27 09:23:47.777 info (17463) Zigbee started
ConBee 2
CC2652RB
Der CC2652RB hat gegenüber dem CC2652P und dem CC2652R1 einen großen Vorteil. Er besitzt eine
2,4-GHz-Wireless-MCU mit kristalllosem BAW-Resonator Zu den hervorgehobenen Merkmalen der TI Bulk Acoustic Wave (BAW)-Resonatortechnologie gehören: • Unübertroffene HF-Leistung mit hochleistungsfähiger Frequenzstabilität (±40 PPM) über die Temperatur (-40 °C bis 85 °C) und volle Betriebsspannung (1,8 V bis 3,8 V), extrem geringer Jitter und Phasenrauschen für verschiedene Anforderungen an die Uhr für drahtlose Kommunikationsstandards. • Effiziente Entwicklungs- und Produktionszyklen durch Eliminierung der Beschaffung von Quarzoszillatoren und Reduzierung kostspieliger Platinen-Redesigns und Re-Zertifizierung aufgrund externer Kristall-Layout- und Montageprobleme. • Optimierte Einsparungen bei der Stückliste (BOM) und PCB-Fläche (durchschnittlich 12%). • Überlegene Langzeit-Taktstabilität und Alterungsleistung (10 Jahre) im Vergleich zu den meisten Standardquarzen Kristall (längste 5 Jahre Alterung) ermöglicht längere Produktlebenszyklen. • Robuste Vibrations- und mechanische Stoßfestigkeit (3× niedrigere PPM-Varianz gegenüber externem Quarz) reduziert Produktersatzkosten durch externe Quarzfehler und ermöglicht den Betrieb in rauen Umgebungen, wie zB. in Motoren oder schweren Maschinen. • Abschwächung potenzieller Timing-bezogener Seitenkanalangriffe durch externe Taktmanipulation.
USB Stick CC2652RB ZigBee 3.0 für ZigBee2mqtt, iObroker, nodeRed, Hassio Der Coordinator ist für unterschiedlichen SmartHome Server wie Zigbee2MQTT, ioBroker, Home Assistant, Domoticz, FHEM zu verwenden.
Es können bis zu 150 Geräte an einem Stick angemeldet werden, das ist ein Vielfaches mehr als beim CC2531. Neben seiner verbesserten Sendeleistung gegenüber des CC2531 bietet der CC2652RB auch eine stärkere Rechenleistung.
Der Stick wurde auf Funktion im ioBroker geprüft.
Unter ioBroker werden derzeit > 300 (dokumentiert) Geräte von über 70 verschiedenen Anbietern unterstützt (github.com/ioBroker/ioBroker.zigbee/wiki/Supported-devices)
Unterstützte Geräte bei Zigbee2MQTT (www.zigbee2mqtt.io/information/supported_devices.html)
Neue Firmware Flashen Firmware Laden Sie die richtige FW mit der Z-Stack-Firmware 3.x.0 herunter: von koenkk
KOORDINATOR (https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin)
ROUTER (https://github.com/Koenkk/Z-Stack-firmware/tree/develop/router/Z-Stack_3.x.0/bin)
In beiden Fällen benötigen wir die CC2652 **RB- Datei.**
Herunterladen und extrahieren. Es gibt mehrere Möglichkeiten zum Flashen: Das serielle Bootload-Tool von JelmerT wird empfohlen https://awesomeopensource.com/project/JelmerT/cc2538-bsl?mode=desktop&ref_=m_ft_dsk UniFlash v6.xx oder höher! Das Flash-Tool von TI SmartRF Flash Programmer2 Verwendung eines JTAG-Programmer
simpleAPI
https://www.smarthome-tricks.de/software-iobroker/iobroker-simple-api-adapter/
http://ipaddress:8087/help http://192.168.0.83:8087/help
{ getPlainValue: "http://192.168.0.83:8087/getPlainValue/stateID", get: "http://192.168.0.83:8087/get/stateID/?prettyPrint", getBulk: "http://192.168.0.83:8087/getBulk/stateID1,stateID2/?prettyPrint", set: "http://192.168.0.83:8087/set/stateID?value=1&prettyPrint", toggle: "http://192.168.0.83:8087/toggle/stateID&prettyPrint", setBulk: "http://192.168.0.83:8087/setBulk?stateID1=0.7&stateID2=0&prettyPrint", setValueFromBody: "http://192.168.0.83:8087/setValueFromBody?stateID1", objects: "http://192.168.0.83:8087/objects?pattern=system.adapter.admin.0*&prettyPrint", states: "http://192.168.0.83:8087/states?pattern=system.adapter.admin.0*&prettyPrint", search: "http://192.168.0.83:8087/search?pattern=system.adapter.admin.0*&prettyPrint", query: "http://192.168.0.83:8087/query/stateID1,stateID2/?dateFrom=2019-06-06T12:00:00.000Z&dateTo=2019-06-06T12:00:00.000Z&noHistory=false&prettyPrint" }
get
import requests url = "http://192.168.0.83:8087/get/0_userdata.0.Test.Test_001/&prettyPrint" payload={} headers = { 'Content-Type': 'text/html' } response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
set
import requests url = "http://192.168.0.83:8087/set/0_userdata.0.Test.Test_001/?value=100&prettyPrint" payload={} headers = { 'Content-Type': 'text/html' } response = requests.request("GET", url, headers=headers, data=payload) print(response.text)
set/get
import json import requests # 0_userdata.0.Test.Test_001 url = "http://192.168.0.83:8087" point = "0_userdata.0.Test.Test_001/" cmd = "/get/" pp = "&prettyPrint" apiurl_1 = url + cmd + point + pp print(apiurl_1) headers = {'Content-Type': 'text/html'} payload={} #Making http post request response = requests.request("GET", apiurl_1, headers=headers, data=payload) print(response.json()) cmd = "/set/" value = "?value=700" apiurl_2 = url + cmd + point + value + pp print(apiurl_2) payload={} response = requests.request("GET", apiurl_2, headers=headers, data=payload) print(response.json()) response = requests.request("GET", apiurl_1, headers=headers, data=payload) print(response.json())
rest
0_userdata.0.Auto.Corolla.ToyotaAPI.JSON http://192.168.0.83:8087/get/0_userdata.0.Auto.Corolla.ToyotaAPI.JSON/?prettyPrint { val: { ack: false }, ack: false, ts: 1639638323318, q: 0, c: "script.js.common.Skript_1", from: "system.adapter.admin.0", user: "system.user.admin", lc: 1639638524759, common: { name: "JSON", desc: "Manuell erzeugt", role: "state", type: "json", read: true, write: true }, type: "state", _id: "0_userdata.0.Auto.Corolla.ToyotaAPI.JSON", acl: { object: 1636, state: 1636, owner: "system.user.admin", ownerGroup: "system.group.administrator" } }
http://192.168.0.83:8087/set/0_userdata.0.Auto.Corolla.ToyotaAPI.JSON/?value=100&prettyPrint http://192.168.0.83:8087/get/0_userdata.0.Auto.Corolla.ToyotaAPI.JSON/?prettyPrin
Tuya Integration
Integration in Home Assistant
https://iot.tuya.com/
https://www.home-assistant.io/integrations/tuya/#configuration-of-the-tuya-iot-platform
Integration in HomeBridge
https://www.simon42.com/homebridge-smart-life/
Integration in IO-Broker
Fehlerbeseitigung
Backup Fehler CIFS
https://www.youtube.com/watch?v=15UbdMcZmp8
USB Devices im ioBroker Docker Container nutzen
https://smarthome.buanet.de/2020/02/usb-devices-im-iobroker-docker-container-nutzen/