NEWS
Shellys ("Alt und Plus") über MQTT Adapter
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
Unter Shellies gibt es einen Ordner "announce" was hat der zu bedeuten?
Der Ordner enthält den JSON in einzelne Datenpunkte aufgeteilt, denn Du direkt unter shellies/announce findest:
Aus jedem JSON wird also ein Ordner gemacht und die Eigenschaften in einzelne Datenpunkte geschrieben.
-
@hotspot_2 So erst mal noch die 1. Generation - hier schaltest Du jetzt über den command Datenpunkt !!!
-
@mickym Ok. Passt.
Irgendwie gefällt mir die erste Variante mit nur den Datenpunkten die ich brauche irgendwie besser. Auch wenn ich dann für jeden Shelly die Nodes anlegen muss. Irgendwie wirkt es übersichtlicher für mich im Moment.
-
@mickym sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@hotspot_2 So erst mal noch die 1. Generation - hier schaltest Du jetzt über den command Datenpunkt !!!
Heisst aber für jeden Shelly der ersten Generation muss ich dann diese beiden Nodes anlegen fürs schalten, eingelesen wird über den Subflow sonst alles an Eigenschaften.
-
@hotspot_2 Ja - ist auch professioneller - weil im Prinzip verdoppelst Du ja nur bereits vorhandene Informationen und wie gesagt mit Objekten und JSON umzugehen - musst Du sowieso lernen. Sollen wir also bei der 1. Version wieder weitermachen?
-
@mickym Gerne mit der ersten Version weitermachen.
-
@hotspot_2 Zum Steuern musst Du grundsätzlich auch bei der anderen Version die Nodes anlegen. Du kannst aber auch mit Blockly schalten wenn Dir das lieber ist. Aber gerade für die Geräte der 2. Version - ist Blockly nur grauslig und ich bin NodeRed Fan - weil ich es viel mächtiger finde.
-
@mickym sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@hotspot_2 Zum Steuern musst Du grundsätzlich auch bei der anderen Version die Nodes anlegen. Du kannst aber auch mit Blockly schalten wenn Dir das lieber ist.
Schalten dann mit Blockly auf die Objekte die ich mit NodeRed angelegt habe, oder?
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@hotspot_2 Zum Steuern musst Du grundsätzlich auch bei der anderen Version die Nodes anlegen. Du kannst aber auch mit Blockly schalten wenn Dir das lieber ist.
Schalten dann mit Blockly auf die Objekte die ich mit NodeRed angelegt habe, oder?
Im Prinzip spielt es keine Rolle - das ist ja was die wenigsten begreifen. Ich kann mit Node-Red Datenpunkte schreiben und damit Blocklies triggern.
Aber gerade beim Schalten hast Du mit Node Red viel mehr Vorteile - weil Blockly nicht gut mit Objekten umgehen kann.
-
@mickym Muss ich mir mal anschauen. Bis jetzt habe ich halt mit Blockly und ein paar Javascript Skripten alles gemacht was ich so brauche.
Würde mir jetzt erstmal alle Objekte wieder richten von den Shellys über NodeRed und dann schauen was man mit NodeRed noch so alles machen kann.
-
@hotspot_2 Mit NodeRed kannst Du mehr machen als mit Blockly. Es gibt auch Nodes - für die es im iobroker gar keine Adapter gibt oder wenn einer mal nicht funktioniert. Du hast nur Einschränkungen wenn Du sendTo zu einem Adapter schickst, aber dafür habe ich ein JS Proxy geschrieben.
Also zurück zur 1. Version.
So für die 2. Generation zeige mir bitte einen Screenshot Deiner Objekte.
Du solltest eigentlich
<shelly-id>/events/rpc
einen rpc Events Datenpunkt haben wo der Status enthalten ist.Ich habe noch gesehen die Geräte der Generation 2 schaltet man mit true und false - wollen wir die mit der 1. Generation auch mit true und false schalten, um es einheitlich zu haben?
-
@mickym Hab den 1. Flow wieder aktiviert. Jetzt hat das anlegen der Struktur usw. auf Anhieb geklappt.
True / False einheitlich passt.
Anbei ein Screenshot eines Shelly Plus 1:
-
@hotspot_2 Ja bei mir auch - keine Ahnung was da passiert ist.
Gut dann müssen wir die payload von on auf true und off auf false übersetzen. Dazu bedienen wir uns einer Change Node die wir dazwischen klemmen.
Wir müssen dann aber auch noch den Datentyp des Datenpunktes umändern. Zum Ändern einer payload - wie gesagt eine Change Node nutzen.
-
@mickym Change Node klappt.
-
Achte darauf, dass Du nicht einen String in den Datenpunkt schickst, sondern ein Boolean
Insgesamt sieht das also so aus:
Also für den Status wird on/off in true/false übersetzt -
für die Steuerung muss dann bei Generation 1 true/false wieder in on/off übersetzt werden:
Also immer die Datentypen betrachten. Wenn Du auf Kurs bist, dann melde dich.
-
@mickym Ich brauch doch zwei Change Nodes oder? Einmal von string auf boolean und dann beim anderen wieder von boolean auf string umsetzen.
Aber irgendwie schaltet es dann nicht mehr richtig.
-
@mickym Ich hab Di
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym Ich brauch doch zwei Change Nodes oder? Einmal von string auf boolean und dann beim anderen wieder von boolean auf string umsetzen.
Aber irgendwie schaltet es dann nicht mehr richtig.
Datentyp ändern im Datenpunkt - schauen ob deine Change Nodes richtig sind. Ich habs Dir gerade gepostet.
-
@mickym Passt. Jetzt geht alles.
-
@hotspot_2 Gut wie gesagt - nun musst bissi lernen mit Objekten umzugehen. Bei der Generation2 steht der Status des Gerätes in events/rpc.
Da ich keine Shelly der 2. Generation habe - kopiere mal den Inhalt dieses Datenpunktes hier in code-tags.
Eine neue mqtt-IN Node musst Du auf dieses topic setzen.
-
{"src":"shellyplus1-a8032abd46cc","dst":"shellies/licht/obergeschoss/schlafzimmer/events","method":"NotifyStatus","params":{"ts":1679961759.17,"switch:0":{"id":0,"output":false,"source":"WS_in"}}}