NEWS
[gelöst] ioBroker als MQTT Client, wie?
-
@chris-1 Mit "Set Datenpunkt" setzen meinst Du ein "if changed, then...."
-
@chris-1 sagte in ioBroker als MQTT Client, wie?:
@mickym Ganz herzlichen Dank!
Ich denke, Deine Hilfe war grandios!
Versuche jetzt noch 'mal ein bischen mit gelerntem was
zu machen und dann geht's morgen weiter!Oben hab ich Dir markiert den command Datenpunkt den Du erstellen musst, um Dein shelly zu steuern, unten den set Datenpunkt für die Lampe unter zigbee2mqtt
-
@chris-1 Muss als nächstes ausprobieren....
wenn draussen Dämmerung oder Dunkel (REQUEST) und BLE iTAG (neu true),
dann (MQTT) Licht an -
@chris-1 Nein Du musst die Admin Oberfläche auf Expertenmodus umstellen:
dann markierst Du den State und erstellst mit dem Plus einen Datenpunkt und nennst ihn set.
-
@mickym Morgen
Ganz herzlichen dank!
-
@chris-1 sagte in ioBroker als MQTT Client, wie?:
@chris-1 Muss als nächstes ausprobieren....
wenn draussen Dämmerung oder Dunkel (REQUEST) und BLE iTAG (neu true),
dann Licht anNein - das kommt alles später mit Deine Logikmaschine. Ich mag kein Blockly sondern nutze Node-Red. Bei Blocklies gibts dann andere Dir bessr helfen können.
-
@chris-1 sagte in ioBroker als MQTT Client, wie?:
@mickym Morgen
Ganz herzlichen dank!
Dann schlaf gut.
-
Moin,
irgendwo kklemmt noch die Kommunikation (mosquitto, zigbee2mqtt, iobroker)
Wenn ich über das WebInterface von z2m (IP:8080) etwas ändere (Lampe an/aus),
dann scheint es überall zu funktionieren und ich bekomme auch einen aktuallisierten
Eintrag in der Objekt Liste.Ändere ich jedoch zu Testzwecken beim Objekt (mgtt.0.zigbee2mqtt.RGB01) den
Wert (OFF statt ON), dann tut sich garnix.ioBróker log:
Bei z2m finde ich unter /data/log/<datum>/log.txt bzw /data/state.txt nichts, was darauf hinweisen würde, dass sich ioBroker und z2m ausgetauscht hätten
Und bei /var/log/mosquitto/mosquitto.log sehe ich auch nur
Wo kann ich nach dem Grund des Fehlers? suchen?
-
@chris-1 Wie gesagt ich nutze den zigbee2mqtt Adapter nicht, sondern arbeite nur mit mqtt. Eventuell stellst Du in dem Thread für diesen Adapter direkt Deine Frage.
https://forum.iobroker.net/topic/59260/test-adapter-zigbee2mqtt
Ich würde Dir halt erst mal empfehlen normal mit mqtt zu arbeiten und Dir nicht mit einem neuen Adapter Dir wieder eine weitere mögliche Fehlerquelle zu holen.
irgendwo kklemmt noch die Kommunikation (mosquitto, zigbee2mqtt, iobroker)
Wenn ich über das WebInterface von z2m (IP:8080) etwas ändere (Lampe an/aus),
dann scheint es überall zu funktionieren und ich bekomme auch einen aktuallisierten
Eintrag in der Objekt Liste.
Nein eben nicht. Wenn Du über die zigbee2mqtt Oberfläche arbeiten kannst, dann funktioniert alles zwischen mosquitto und zigbee2mqtt nur eben nicht zu dem zigbee2mqtt Adapter. Das ist ein gewaltiger Unterschied. Ich hab Dir doch gestern geschrieben, wie Du mit normalem mqtt weiter machen sollst, zudem Du ja dann auch gleich die Shellies schaltest. Wenn Du dann immer noch diese Adapter nutzen willst, kannst Du das ja machen - aber da gibts dann Leute, die mit diesen Adaptern Erfahrungen haben.
- Hast Du den set Datenpunkt angelegt?
- Hast Du Deinen Befehl richtig eingegeben?
Wenn Du DIr meinen Screenshot der tischlampe richtig angeschaut hast, dann siehst Du, dass Du die Lampe über den set-Datenpunkt steuerst und dort dann mit einem JSON:
also
{"state":"on"}
bzw.
{"state":"off"}
und nicht einfach "on" und "off".
Ich habe Dir die beiden Datenpunkte doch in dem letzten Screenshot grün markiert, die Du erstellen musst (einmal shelly und einmal zigbee2mqtt)
Wie Du die Datenpunkt (Expertenmodus) habe ich Dir ja gestern geschrieben. Falls es da noch Probleme gibt, musst Dich halt melden.
-
Falls Du Schwierigkeiten hast mit dem + Zeichen einen neuen Datenpunkt anzulegen. Gehe eine Ebene höhere und lege von dort aus den Datenpunkt an.
Also auf zigbee2mqtt und dann legst Du mit dem + Zeichen einen Datenpunkt an in dem Du angibst: RGB01.set
Ich würde mir aber ggf. noch eine schönere Struktur überlegen, aber musst Du wissen.
Wenn Du mit dem mqtt-Explorer arbeitest ist es noch einfacher. Da publishst Du dann unter dem topic
zigbee2mqtt/RGB01/set
den Wert als JSON
{"state":"on"}
So ich glaube, ich habe genügend Möglichkeiten gezeigt. Musst Dich halt melden, was Du machst.
-
@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