IO-Broker: Unterschied zwischen den Versionen
Stefan (Diskussion | Beiträge) (→Docker) |
Stefan (Diskussion | Beiträge) (→Docker) |
||
| Zeile 109: | Zeile 109: | ||
docker run -p 8083:8081 --name iobroker-3 -v iobrokerdata3:/opt/iobroker-3 buanet/iobroker:latest | docker run -p 8083:8081 --name iobroker-3 -v iobrokerdata3:/opt/iobroker-3 buanet/iobroker:latest | ||
| − | docker run -p | + | docker run -p 9091:8081 --name iobroker-Master -v iobrokerdatam:/opt/iobroker-4 buanet/iobroker:latest |
| − | docker run -p | + | docker run -p 9092:8081 --name iobroker-Slave-1 -v iobrokerdatas1:/opt/iobroker-5 buanet/iobroker:latest |
== Multihost == | == Multihost == | ||
Version vom 20. Januar 2022, 23:42 Uhr
Willkommen auf unserer IO-Broker Wiki Seite
Inhaltsverzeichnis
Der kleine ioBroker/Linux-Werkzeugkasten
https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
Installieren
Installer version: 2021-11-18 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
Info
iobroker status iobroker version
Update
sudo iobroker stop sudo iobroker update sudo iobroker upgrade self sudo iobroker start
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.1 iobroker stop admin.1
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/
Home
https://www.iobroker.net/?lang=de
Wiki
Forum
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-1 buanet/iobroker:latest docker run -p 8082:8081 --name iobroker-2 -v iobrokerdata2:/opt/iobroker-2 buanet/iobroker:latest docker run -p 8083:8081 --name iobroker-3 -v iobrokerdata3:/opt/iobroker-3 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
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:
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.
Tasmota
https://www.engineer-but-still-human.com/der-sonoff-adapter-tasmota-geraete-im-iobroker-einbinden/
ZigBee
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