NEWS
Shellys ("Alt und Plus") über MQTT Adapter
-
@hotspot_2 Passt, hast es gerade ergänzt.
Ich ziehe mal ein paar um die ich nicht ganz so dringend brauche (Keller usw.) und dann habe ich mal eine kleine Spielwiese mit der ich starten kann.
-
@hotspot_2 Das klappt schon mal gut. Er hat mir zuerst einen Ornder "shellies" angelegt und den Ordner "licht. Ich habe dann einfach den Prefix auf "shellies/licht/..." geändert und dann sind alle unter "shellies".
-
@hotspot_2 Ok - Nun machen wir erst mal bissi NOde-Red - Neben den Triggern von aussen kann auch selbst Daten triggern und das ist sehr praktisch zum Testen.
Du beginnst also erst mal mit einer Inject Node und verbindest diese mit einer debug Node. In der Inject Node schreibst Du einen beliebigen Text und postest am besten einen Screenshot wie das Debug Fenster aussieht.
Mit dem Drücken der Schaltfläche (gelb) links an der Inject Node triggerst Du - die debug Node gibt die Nachricht aus. Das Debug-Fenster (Bug=Wanze) habe ich mit grünen Pfeil markiert.
Öffnen tust Du die Nodes indem Du sie mit Doppelklick öffnest:
Sobald Du die payload (in der Regel sind hier die Nutzdaten enthalten) eingetragen hast bestätigst Du mit Fertig
Wenn node-geändert wurden sind die mit so einem blauen Punkt markiert:
Dies wird erst dann übernommen wenn Du auf Übernehmen/Deploy klickst:
-
@mickym Noch kurz eine Frage zu den MQTT Prefix in den Shelly Gen 1. Kann es sein das da die Länge der Zeichen begrenzt ist? Da schaffe ich es nicht die Ordnerstruktur einzugeben oder beizubehalten.
-
@hotspot_2 Ich habe nur Gen.1 Geräte mach dich einen Screenshot? Das was ich Dir gepostet habe ist Gen. 1 - ich habe gar keine Gen2 Geräte.
Bei der Gen1 musst Du nur das mit der Cloud rausmachen. Cloud und mqtt gehen bei Gen. 1 Geräten nicht.
-
Da ist dann Schluss mit den Zeichen.
-
@hotspot_2 Mach das mit den shellies raus - das wird automatisch gesetzt.
Also nur schalter/....
Kann sein, dass es hier ein Grenze gibt - bin ich nur nicht drauf gestossen.
-
@mickym Ok, passt. Bei den Gen 1 wird wohl das shellies automatisch gesetzt vorne dran, bei den Gen 2 nicht. Aber passt jetzt. Habe jetzt ein Plus1 und einen Plug drin.
-
@hotspot_2 Gut wie gesagt - mach Dich mal mit NodeRed soweit vertraut und schau ob das mit dem Screenshot und dem DebugFenster klappt.
Also nächstes werden wir NodeRed noch über Mqtt- mit dem Mqtt- Adapter verbinden, weil es generell nicht empfehlenswert ist, direkt in den MQTT-Adapter zu schreiben, wenn dieser als Broker/Server betrieben wird.
-
Hat auch geklappt.
-
@hotspot_2 Sehr gut - nun verbinden wir mal Node-Red noch via MQTT - an deinen MQTT-Broker auch wenn Du direkt auf die Datenpunkte zugreifen könntest, hat das ein paar Vorteile - auch wenn Du dich später mal entschliessen würdest einen externen MQTT-Broker zu nutzen.
Zieh am Besten eine mqtt-IN Node auf den Arbeitsbereich:
Dann klickst Du auf den Bleistift neben dem Serverfeld
Als host kannst Du localhost angeben, da Dein MQTT-Broker auf der gleichen Maschine sind.
Unter Sicherheit gibst Du Deine Anmeldedaten an, falls Du welche benötigst (hast Du ja im Broker) eingegeben.
Eine Client Id - siehe Screenshot empfiehlt sich, damit Du ggf. nachvollziehen kannst, wer sich an Deinem MQTT-Broker anmeldet.
Wenn Du Dich verbinden kannst - dann trägst Du noch als topic ein, dass Dich alle Punkte unter shellies interessieren also shellies/#.
-
@mickym Sieht jetzt so aus:
-
@hotspot_2 Du bist klasse, dann kannst Du schon mal eine debug dahinter hängen und schauen ob die MQTT-IN Node schon Daten ausspukt.
-
@mickym Da scheint sich was zu tun:
-
@hotspot_2 Na das ist doch toll. Nun wie gesagt ich brauche es nicht, aber Du willst gerne alles in einzelnen Datenpunkten haben? - Du kannst Dich ja später immer noch umentscheiden, aber für den Umstieg wäre es vielleicht am Einfachsten. Auch wenn ich der Meinung bin, dass Objekte die Werte in zusammengefasster Form durchaus von Vorteil ist. Also willst Du das mit den Werten in einzelnen Datenpunkten als erstes haben?
-
@mickym Ich denke vom Handling und vom Umstieg her (Anpassung der ganzen Blocklys und Javascripte dann) erstmal einfacher einzelne Objekte zu haben.
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym Ich denke vom Handling und vom Umstieg her (Anpassung der ganzen Blocklys und Javascripte dann) erstmal einfacher einzelne Objekte zu haben.
Gut - aber andererseits empfehle ich später lieber richtig zu arbeiten.
- Nun schauen wir Deine Adaptereinstellungen an:
Wichtig ist, dass iobroker-Werte in Zeichenkette konvertieren abgehakt sind (was Du nochmal überprüfen solltest) - nun schau ob Du dem Node-Red Adapter erlaubst Objekte zu erstellen, denn wir wollen dann ja unter 0_userdata.0 die mqtt in einzelnene Datenpunkte schreiben.
-
@mickym Tendenziell bin auch dann eher bei richtig. Wenn ich was neues lerne dann kann ich es auch gleich richtig machen. Machen wir es doch so wie es richtig ist. Passt für mich!
-
@hotspot_2 Gut dann werden wir nicht die ganzen Bäume in Einzelwerte schreiben, sondern nur falls wir die brauchen. Ich gehe mal davon aus, dass Du mit einer vis als GUI arbeitest.
Grundsätzlich bilden wir eine Art Shelly Adapter ab. Sprich wir machen dann mal eine Struktur unter 0_userdata.0 - unter welchem Datenpunkt wollen wir was anlegen? also auch unter shellies?
-
@mickym Ich nutze Jarvis und VIS (für Widgets in JARVIS z.B. Müllkalender).
Ja, unter shellies passt in userdata.