NEWS
[gelöst] ioBroker als MQTT Client, wie?
-
@mickym Deine wiederholte Erwähnung von zigbee Adapter hat mich dazu gebracht , mal nach etwas zu suchen, was mir immernoch unklar war: ein ioBroker.zigbee2mqtt Adapter, denn zigbee2mqtt ist ja ein "System service"
Auf github wurde ich nach einiger Suche fündig (https://github.com/o0shojo0o/ioBroker.zigbee2mqtt) und, oh wunder, auf einmal kann ich in iob steuern, auch wenn mir das nicht so ganz passt, dass ich für die Verbindung zu Zigbee-Gerätern jetzt eine ganze Kette von DIngen brauche. Wobei... passt schon.
Komisch, dass nirgends bei Tutorials/Videos zu zigbee2mqtt auf dies Thema eingegangen wird
Auch der Umstand, dass man per URL den Adapter hinzu fügt, dann aber nicht automatisch eine Instanz hinzugefügt wird, sondern man über + das ganze erstmal ins Leben rufen muss.... hab ich nirgends gelesen.Zu Deinem "ich möchte nur mqtt"....
Mein Ziel ist ohne eine Cloud, also nur local-Network, meine eigenen Devices zu steuern.
Ich muss nicht, während ich einkaufen bin, den Wasserkocher für den Kaffee starten.
Zigbee finde ich auf Grund des geringen Stromverbrauchs (Sensoren mit Batterie, kein Stromkabel) interessant.
RF433/868 interessiert mich auch sehr, auch wenn ich mich da in Welten (Flashen, Löten,..) begeben muss, mit denen ich zuvor noch nicht in Kontakt war.Und bitte sag jetzt nicht "Tasmota" - ich muss erstmal in die ganze Geschichte (iob bzw SmartHome) rein kommen.
-
Nun ich kann Dir nur anbieten, das was ich gemacht habe. Ich habe kein tasmota auf shellies. Ich nutze mqtt auf shellies oder zigbee und tasmota nur auf 2 Steckdosenleisten, sowie einem sonoff Gerät - aber auch hier reines mqtt und keinen Adapter ausser mqtt Adapter. Ich nutze auch den zigbee2mqtt service, aber eben nicht den neuen Adapter.
Wie gesagt den von Dir über github installierten Adapter nutze ich nicht.
Ich steuere auch alles ohne Cloud, aber nur mit reinem mqtt und es funktioniert gut. Wenn Du auf diesem Weg weitergehen willst begleite ich Dich gerne. Wenn Du lieber die anderen Adapter nutzen möchtest, dann kannst Du das gerne machen, aber da kann ich Dich halt nicht so unterstützen, sondern dann werden sicher andere im Forum Dir weiterhelfen.
Ich bin ein Freund davon, die Dinge, die von der Hardware per se unterstützt werden direkt zu nutzen, um weitere Fehlerquellen auszuschließen.
Wenn Du nun lieber den zigbee2mqtt Adapter nutzen willst und Du hast Fragen, dann habe ich Dir ja auch den Link zu dem entsprechenden Thread gepostet.
Wenn Du reines mqtt nutzen willst, habe ich Dir auch gezeigt, was die nächsten Schritte wären, um die Geräte zu steuern.
Du musst halt entscheiden, welchen Weg Du gehen möchtest und wenn ich bei der Entscheidungsfindung helfen kann, dann tu ich das gerne. Das Ziel alles ohne Cloud zu steuern - das mache ich ja auch. Es wird kein Gateway genutzt und von unterwegs steuere ich meine Geräte via eigener VPN Lösung.
-
Jetzt funktioniert auch sowas
wobei.... "funktioniert" ist relativ, da leider ab und zu mein USB-BLE-Dongle beim hciX springt. Da fällt der auf einmal bei hci0 raus und nennt sich hci1 (oder höher) weshalb sich alles auf die Nase wirft
Zum Blockly:
Der "iTag" ist ein Schlüsselanhänger (KeyFinder).
Wenn ich (nach Anbruch Dämmerung) nach Hause komme, soll kein extra Scenario installiert werden, sondern nur die Lampe auf den letzten "ON" Status gesetzt werden, falls sie aus ist. -
@mickym Dein Weg klingt nach genau dem, was ich möchte!
Du kannst mir sehr gerne kommende Woche erklären,
wie Du per mqtt die Zigbee-Birne RGB01 ohne zigbee2mqtt
steuerst. Ich wäre Dir sehr dankbar! -
@chris-1 Das Blockly verstehe ich schon - aber ich mag dieses Tool halt nicht, deswegen investiere ich hier nur oberflächlich Zeit, um mal jemand zu helfen.
Ich finde Node Red wesentlich besser und mächtiger und in meinen Augen auch intuitiver - außerdem ist es bei komplexeren Logiken wesentlich einfacher, Fehler zu finden. Man muss auch nicht codieren, sondern kann sich auf die Funktionen beschränken und muss nicht dauernd Puzzleteilchen suchen.
Das mit dem BLE ist glaube generell ein Problem, da kann ich glaub auch nicht viel helfen. Wenn Dein BLE zu sehr springt, dann musst halt Dein Blockly ggf. so anpassen, dass nur dann ein Wert als gesichert gilt, wenn der Wert eine Zeitlang stabil ist. Allerdings geht das halt zu Lasten der Antwortzeit. Eventuell musst halt das BLE noch mit einem 2. Faktor kombinieren, um eine zuverlässige Erkennung zu bekommen.
Ich nutze für die Anwesenheitserkennung mein Handy mit owntracks und nutze auch hier mqtt.
-
@mickym Ein BTL Schlüsselanhänger reduziert den Stromverbrauch meines Handies spürbar
Habe mir dazu extra schon diverse ESP32 Tutorials angesehen, aber bis dahin ist der Weg wohl noch weit.
Toll wäre, wenn ich dem BLE-USB-Dongle eine feste hci zuweisen könnte;
ähnlich wie bei (den nicht verwende*) Sonoff-zigbee-Dongle statt "/dev/ttyUSB0" ein "/dev/serial/by-id/...bla-bla..."*) also, ich habe schon den Sonoff-Dongle im Einsatz, aber ich verwende nicht den "ioBroker.Zigbee" Adapter, sondern die Kombination aus den System-Services mosquitto und zigbee2mqtt plus den "ioBroker.Adapter" zigbee2mqtt (vgl oben)
Zu Blockly: ich hab halt keinen blassen Schimmer von JavaScript/Python/.... - ich kann dank C/C++ Kenntnis zwar so manches Nachvollziehen, wenn ich es lese, aber das heisst noch lange nicht, dass ich selber Code erstellen könnte.
-
@chris-1 Das Bett ruft
-
@chris-1 Nun wie gesagt, Du nutzt wahrscheinlich den BLE Adapter. In dem Fall hast Du wohl erst mal keine andere Wahl.
Wie gesagt Du kannst Dir ja mal NodeRed anschauen, wenn Du noch nicht so viel implementiert hast. Da kannst Du auch grafisch, aber wesentlich mächtiger Funktionen zusammenklicken und bietet Dir auch JS Unterstützung. Man kann auch beides nutzen. NodeRed ist jedenfalls über den Adapter auch gut in den iobroker integriert und kann genauso Datenpunkte aus dem iobroker lesen und schreiben.
-
-
@mickym said in ioBroker als MQTT Client, wie?:
@chris-1 Nun wie gesagt, Du nutzt wahrscheinlich den BLE Adapter. In dem Fall hast Du wohl erst mal keine andere Wahl.
Ich erwäge bereits bereits den Einsatz einer PCI Karte mit BLE (statt Dongle) in der Hoffnung, dass diese dann fix auf hci0 gesetzt wird.
Gute Nacht
-
@mickym Hey,
wie hast du das gemacht, das die Geräte in Ordnern und Unterordnern stecken?
Bei mir sind nämlich alle Geräte einfach unter den Zigbee2mqtt Ordner aufgelistet...Grüße Christian
-
@fam3xce wenn du in zigbee2mqtt einen friendly Name angibst, gibst du ein mqtt topic ein und das kannst du mit Schrägstrichen, also /, beliebig tief machen.
Also statt „Nachttischlampe“ als „friendly Name“ kann man den Namen auch „Licht/Schlafzimmer/Nachttisch“ nennen. -
@mickym super, das habe ich schon mal hinbekommen.
Beim Rest hier vom Beitrag bin ich noch am durcharbeiten.
Danke schon mal..... -
@mickym Habe heute mal einen ESP32 bestellt und werde damit nächstes Wochenende herum basteln.
Habe dazu mehrere Projekte (firmware) gefunden, die mir gut gefallen... falls alles reibungslos läuft.a) EQ-3 <-> MQTT (https://github.com/softypit/esp32_mqtt_eq3)
b) BTLE <-> MQTT (https://espresense.com/)
c) Zigbee <-> MQTT (https://github.com/search?p=1&q=esp32+zigbee&type=Repositories)Dann wär ich aus dem BLE Gefummel (springender hci Port) mit dem Dongle raus und wenn die Zigbee Geschichte auch funktioniert, dann wirds auch im ioBroker etwas kürzer/übersichtlicher; steht aber als letzter Punkt auf der Liste, wegen Bastel-Aufwand
-
@chris-1 Na wie gesagt, da kann ich wenig zu sagen. Wenn Du es schaffst in Deinen mqtt-Broker zu schreiben, dann bin ich wieder im Spiel. Ansonsten bin ich bzgl. Basteln mit ESP32 und flashen von Software außen vor. War froh, dass ich ohne Löten ein/zwei Geräte mit Tasmota flashen konnte.
Wie gesagt, wenn es dann in mqtt drin ist und Du versuchst dann mit Logik was miteinander zu verbinden, dann kann ich ggf. wieder unterstützen.
-
@mickym Na ich pub/sub doch auf mosquitto schon fleissig
-
@chris-1 Gut also klappt Dein Schalten jetzt ?
-
@mickym Jupp,
aber ich würde halt so manches gerne noch vereinfachen und Probleme auch einfach auslagern, daher die Idee mit ESP32.
Bei der EQ-3 Geschichte (Thermostat) zB würde ich die BLE Probleme im PC umschiffen. Der ESP würde sich munter mit der Heizung unterhalten und pub/sub dann direkt an mosquitto machen. -
@chris-1 Gut aber das Schalten der zigbee Lampe über mqtt hatte ja gestern noch nicht geklappt und shelly hattest Du ja auch noch nicht implementiert.
-
@mickym Zigbee-Lampe steuern geht via mqtt. Um Shelly hab ich mich noch nicht gekümmert, läuft bisher via WIFI bzw. ioBroker.Adapter
Wenn ich mich recht entsinne, dann kann man die Shelly aber direkt über die Browser-Konfiguration der Shelly auf MQTT umschalten. Werde ich bei Gelegenheit machen. Dann könnte auch der ioBroker.Adapter für Shelly raus fliegen.
Ach, lach ... Lampe. Wenn ich nach Hause komme und Dämmerung/dunkel ist, dann schaltet sich meine Zimmerbeleuchtung an, falls sie aus war, sobald ich nach Hause komme