NEWS
[gelöst] Werte aus HTTP-Request filtern
-
So, jetzt brauche ich das erstemal, und sicher nicht das letzte mal eure Hilfe.
Ich habe bis jetzt ohne Probleme, durch lesen, hier im Forum, Fhem und Fronius in ioBroker eingebunden.
Nur bei der UVR1611 und dem CMI von TA habe ich Probleme.
Wie soll/muss oder kann ich die einbinden.
Ich möchte eigentlich nur die Fühlerwerte auslesen, und wenn es möglich ist, die gesetzten Ausgänge und eventuell die Prozent vom Stellmotor.
Danke im voraus.
LG
Martin
-
Hi Martin,
bis zu diesem Jahr war es nicht möglich die Daten direkt aus dem CMI per Http-request auszulesen (mein stand )
Aber seit Anfang diesen Jahres hat TA eine JSON-API in die aktuelle Firmware integriert. In Node Red lässt sich so ein request gut ausführen (hab ich vorhin schnell gestestet), allerdings weiß ich nicht wie ich die einzelnen Daten auf die verschiedenen Variablen aufteilen kann. Ist mit Sicherheit nicht schwer, aber da brauchen wir die Hilfe des Forums ;).
mit folgendem request erhälst du beispielsweise alle Eingangsvariablen mit Werten:
LOGIN:PASSWORD@192.168.0.42/INCLUDE/api.cgi?jsonnode=1&jsonparam=I
Login, Passwort und IP musst du natürlich noch anpassen. Die aktuelle Firmware sollte natürlich auch auf dem CMI sein.
Im Angehängten Dokument ist der Aufbau des Requests und der Antwort beschrieben
Gruß
Fabian
1618_cmi_json_api_v1.pdf -
Sorry, das ich mich erst jetzt melde, war aber die letzten Tage sehr stressig in der Firma
Werde ich gleich mal testen.
Danke, für deine Bemühungen.
-
Hallo Martin
Ich hatte es so hinbekommen: Für jede Temperatur in der UVR1611 eine eigene Seite mit TA-Designer erstellt, so das auf der Seite <u>nur</u> die Temperatur angezeigt wird.
Unter Node dann folgendes erstellt:
Mit dem Script werden dann nur die reinen Werte dargestellt, ohne °C.
Das Ganze dann an IOBroker weitergeleitet. Unter Objekte wird dann die entsprechende Temperatur angezeigt und kann weiter verarbeitet werden.
Gibt vielleicht noch ne elegantere Lösung, aber als Unwissender bin ich schon mal damit zufrieden
-
Habe das mal so nachgebaut, und es funktioniert
Dickes Danke.
-
Guten Morgen,
vielen Dank ans Forum. Mit Eurer Hilfe konnte ich meine Werte aus der UVR einbinden. Jetzt habe ich noch das Problem, dass ab und zu viel zu hohe Werte eingelesen werden, die physisch gar nicht stimmen könnten. Gerne würde ich diese rausfiltern. Leider sind meine Skript Kenntnisse in Node Red nicht vorhanden. Wie mache ich es, dass Werte über einer bestimmten Größe einfach nicht berücksichtigt werden? Bsp. Alle Werte größer 50 verwerfen.
Habt herzlichen Dank!
Grüße
Marko
4195_messfehler.jpg -
Hallo!
Ich versuche momentan auch Werte per JSON API vom CMI abzufragen, scheitere jedoch leider daran.
Kann mir hierzu jemand ein konkretes Beispiel posten? Wäre echt genial. Komme auch mit anderen node-red Anleitungen nicht wirklich weiter…
Beiliegend nocheinmal die akuelle Version der API.
Danke schonmal für eure Hilfe!
-
Hi fritz66,
sorry für die verspätete Antwort, aber ich bin nur sporadisch im Forum unterwegs :? .
Die Abfrage des CMI ist wie in einem meiner früheren Posts aufgebaut, testen kannst du das auch über deinen Browser, als Antwort erhälst du dann die Abgefragten Werte als JSON (Im Beispiel alle Eingänge meiner UVR1611)
` > LOGIN:PASSWORD@192.168.0.42/INCLUDE/api.cgi?jsonnode=1&jsonparam=ILogin, Passwort und IP musst du natürlich noch anpassen. Die aktuelle Firmware sollte natürlich auch auf dem CMI sein. `
Wenn die Abfrage über den Browser funktioniert kannst du diese in deinem Flow als HTTP Request einbinden. Diesen dann zyklisch (>60s) abfragen.
Node Red zeigt die abgefragte JSON im Debug wie folgt schön nach den einzelnen Daten gegliedert an
Im Anschluss wird die JSON auf die einzelnen Systemvariablen verteilt, die zuvor in der CCU angelegt wurden.
Für meine Kesselpumpe Ausgang 7 wird folgender Code in einer Funktion verwendet
` > msg.payload=msg.payload.Data.Outputs[6].Value.Statereturn msg;
Für die Außentemperatur bei mir Eingang 1:
> msg.payload=msg.payload.Data.Inputs[0].Value.Valuereturn msg; `
Ich hoffe ich konnte dir helfen.
Bis ich bei mir alles so weit hatte ist einige Zeit vergagnen, aber jetzt werden die Werte minütlich an meine CCU übergeben
Anscheinend kann man auch schreibend auf die Ausgänge einwirkten ("Aus","Ein","Auto"), habe ich bei mir bisher leider noch nicht umgesetzt.
-
Hallo zusammen,
ich weiß das Thema ist schon etwas älter, aber leider komme ich hier nicht weiter.
Ich würde gern den Wert der Holzofenladepumpe (AN/Aus) abfragen und diesen in eine Variable schreiben.
Aber leider komme ich hier mit den angegebenen Beiträgen nicht wirklich weiter.
Bei mir ist die UVR 1611 verbaut.
Oder gibt es bereits in IoBroker einen passenden Adapter der diese Abfrag erledigt?
Ich hoffe, ihr könnt mir hier weiterhelfen
Danke
Daniel
-
@daniel81 et al.
Habe einen ioBroker Adapter geschrieben und zum Test angeboten. Würde mich freuen, wenn er bei Euch auch klappt. VG - Klaus.
—> https://forum.iobroker.net/topic/78225/test-adapter-ta-blnet-npm-latest -