NEWS
Mediola Gateway Statusabfrage (States) umwandeln per Script
-
@paul53 Ok das ist wirklich schon mal ein Ansatz vielen Dank!!! Ich bekomme es damit wahrsch. nicht komplett hin aber ich fange mal an zu "basteln"
Wie bringe ich die Liste als Variable da rein?
Ich mache ja als erstes ein execute mit dem http get Befehl damit ich diese Liste aktuell bekomme als Antwort vom Mediola Gateway.
Diese will ich dann ja immer aktuell "Filtern" und die States setzen. Idealerweise zyklisch.
Welchen block muss ich benutzen damit der Output vom exec Befehl (also diese Liste dann) als Variable fürs Script verfügbar ist?
Das ist für mich noch "Neuland", ich versuch mich da aber rein zu fuchsen -
@w0rschd sagte: execute mit dem http get Befehl
Weshalb nicht mit request?
-
@w0rschd sagte: Idealerweise zyklisch.
Oberer Teil für alle 10 Sekunden:
Die Variable result muss genau so geschrieben werden.
-
@paul53 oh cool danke!! das klimper ich direkt mal rein und Teste mich ran.
Ja sorry ich meinte auch Request nicht Execute, hab ich grad gemerkt als ich mal anfangen wollte das zusammen zu bauen
-
@paul53 Ich habs zum Testen mal so gemacht
Dann müsste ich doch zumindestens was er als Variable in der Get_States_Liste hat als Telegram Nachricht bekommen oder?
Weil da kommt nichts.
Ich wollte es zum debuggen mal so testen damit ich sehe dass der Teil schon mal klappt. Und dann stück für Stück aufbauen. -
@w0rschd sagte: Get_States_Liste hat als Telegram Nachrich
Telegram kann wahrscheinlich nicht mit einem Array of objects umgehen, sondern benötigt Strings.
-
@paul53 ah ok... hab den Fehler vom Telegram aber auch schon, da muss noch ein erstelle Text aus... vor die Variable...
Dann kommt aber auch wie du schon vermutet hast nur (object) object in "endlosschleife" ^^
Nächste Frage, angenommen die Liste passt (was ich ja so wie ich dachte nicht überprüfen kann), kommt ja das mit dem Zählen. Er zählt die Kollumnen durch,
woher weiss er was der Trenner ist also : oder ;? Oder zählt er Zeilenweise?Was ich auch nicht ganz kapier, du aktualisierst objektid xy mit dem atribut state.state vom obj mit "on" als text, aber wenn dort z.b. off drin wäre, dann würde er trotzdem "on" in das objekt schreiben? Ich steh da grad aufm schlauch
-
@w0rschd sagte: da muss noch ein erstelle Text aus... vor die Variable
Das funktioniert nicht. Wandle es für Telegram in ein JSON:
-
@paul53 wie kann ich mir anschauen was der "Inhalt" von der Liste ist? Damit ich auch den späteren zusammenbau wann er was wählt besser verstehe?
-
@w0rschd sagte: wie kann ich mir anschauen was der "Inhalt" von der Liste ist?
Mit dem JSON-Viewer.
-
@paul53 ok, wie komm ich an die Liste dran? Die liegt als File auf dem iobroker System oder wie bekomm ich die Variable in den Json-Viewer? Vielleicht doof die Frage aber das ist mir noch nicht ganz klar.
-
@w0rschd sagte: wie bekomm ich die Variable in den Json-Viewer?
Mit Copy & Paste aus dem ersten Beitrag.
-
@paul53 achsooo du meintest meine Liste, das ist ja das Ergebnis wenn man den Request mit dem Browser macht.... damit komm ich ja noch klar.
Ich meinte im Blocky um zu prüfen ob der Request funktioniert und er das was zurück kommt auch in der Liste richtig hat, wollte ich um nachzuprüfen was in der Variable drin ist mir das per Telegram senden. So meinte ich das. Geht das irgendwie anderst zu prüfen was in der "Variable" drin steht und ob er den Request richtig übernommen hat?
Oder muss ich mich einfach drauf verlassen dass das halt so klappt hehe -
@w0rschd sagte: zu prüfen was in der "Variable" drin steht und ob er den Request richtig übernommen hat?
Ein Debug-Block in der Schleife gibt nacheinander die 42 Objekte aus.
-
@paul53 ok, so langsam klingelts
Ich habs jetzt mal so gemacht, nur SenderID gegen adr getauscht, da ich ja den Zustand vom Aktor, nicht den Lichtschalter oder was auch immer SenderID ist, abfragen will.
Aber er schreibt mir nichts in den Datenpunkt vom Bürolicht.
Wo hängt mein Hirn gerade? -
@paul53 Habs hinbekommen.
Vielen vielen Dank! Ohne deine Hilfe wär ich da niemals drauf gekommen, genial
-
@w0rschd sagte: schreibt mir nichts in den Datenpunkt vom Bürolicht.
Hat die Debug-Ausgabe funktioniert? Dann müsste "on" oder "off" in den Datenpunkt geschrieben werden.
-
@paul53 ja hat geklappt. Hatte Debug noch im Blockly an dann hat er nichts geschrieben, das hab ich dann gemerkt und ausgemacht und tadaaaa es ginge.
Habe mir jetzt schon mal Wohn-Esszimmer-Küche "programmiert" und das funktioniert alles prima, das war genau das was ich gesucht habe.Ich kanns nur nochmal wiederholen, Danke für deine Hilfe, ohne die hätte ich da gar nix verstanden, geschweige denn hinbekommen!
-
Kannst du mal dein Script posten wie du das hingebracht hast? Ich scheittere...
-
@ingranu falls Du immer noch das Problem hast ich denke ich weiss was Dir weiterhelfen kann. Ich bin gestern ebenfalls durch dieses Blockly gegangen. Bei mir funktioniert es ebenfalls mit einem V5 plus und mit Homeatic Komponenten. Ich kann mir den Status der Aktoren einwandfrei auslesen.
Du musst Dir Variablen anlegen dann bekommst Du die notwendigen Blöcke im Bereich Variablen die Dir vermutlich gefehlt haben.