IO-Broker: Unterschied zwischen den Versionen

Aus
Wechseln zu: Navigation, Suche
(Console commands)
(Multihost)
Zeile 303: Zeile 303:
 
  der entsprechenden Master ausgewählt
 
  der entsprechenden Master ausgewählt
 
  Damit ist die Multihost-Verbindung fertig.
 
  Damit ist die Multihost-Verbindung fertig.
 +
 +
iobroker stop
 +
iobroker host remove <salve>
 +
iobroker fix
 +
iobroker start
  
 
== ESP-Easy ==
 
== ESP-Easy ==

Version vom 10. Januar 2023, 09:32 Uhr

Willkommen auf unserer IO-Broker Wiki Seite

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-8089:8081-8089 -p 6062:6052 -p 9100-9101:9000-9001 --cap-add=NET_ADMIN --privileged --name iobroker-Qnap -v iobrokerdata:/opt/iobroker buanet/iobroker:latest

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

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.1.241
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 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

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

IOB Docker auf QNAP

Portweiterleitungen:
ESPHome : 49158 -> 6052
Konsole : 49157 -> 8088 / 9088
Admin : 49156 -> 8081
Web : 49159 -> 8082
Bridge Mode


Fehlerbeseitigung

Backup Fehler CIFS

https://www.youtube.com/watch?v=15UbdMcZmp8