Open riruf opened 4 years ago
So wie ich das im Code sehe, kannst du diesen Fehler ignorieren, aber über dem Fehler müsste etwas wie Response: stehen. Kannst du diese Zeile mal hier hin kopieren?
Eigentlich ist das hier nicht gepflegt. Ich lese mittlerweile alles aus dem cmi per nodered aus und spiele es in eine influxDB mit grafana Frontend
Hallo @emign, ich versuche gerade genau dasgleiche zu erreichen und habe die Vorgehensweise noch nicht ganz klar.
Sprichst Du aus node-red die CMI API an und ziehst die Daten in influxDB (ueber MQTT?) oder benutzt Du die Mysql db aus deinem Projekt hier und benutzt das SQL modul aus node-red um die Daten nach influxdb rueberzuzuehen?
Waere toll wenn Du ein paar details zu Deinem setup sharen koenntest. Besten Gruss!
Ich mache einfach einen HTTP GET request an
http://IPDESCMI/INCLUDE/api.cgi?jsonnode=1&jsonparam=I,O,Na,Nd
Da kommt ein JSON raus, welches ich dann einfach an iobroker (mqtt) sende. Die channels kann ich dann mit influx "abonnieren"
Auf die gleiche Weise, kann man übrigens auch Werte in der CMI verändern, Meine Heizungssteuerung läuft komplett über nodered und nicht mehr in der cmi.
Zum Beispiel dieser Befehl für das setzen der Zieltemperatur der Heizung:
http://IPDESCMI/INCLUDE/devpage_dev.cgi?page=01025900&changeadr=01B0023010&changeto={{{payload}}}
Sehr cool, vielen Dank! Das mit der Steuerung ist natuerlich ein gamechanger :) Und in node-red benutzt Du dann buttons/widgets um die Heizung zu steuern oder machst Du das ueber ein Grafana plugin?
Ich habe Probleme beim JSON zu unterscheiden ob zum Beispiel die Heizungssteuerung auf Hand/Ein
oder auf Auto/Ein
steht, hast Du da vielleicht ein Tip?
Geh einfach auf die webseite der UVR (via CANBUS) und lass dir einfach in chrome oder firefox mit der debug ansicht anzeigen, welche URL die Schalter und Dropdowns aufrufen.
Hallo, Danke für Deinem Tipp, den Debugger zu nutzen.
Habe damit die Dropdowns (z.b. der Heizkreispumpe) analysiert und es wird folgender API Endpunkt angesprochen:
change.cgi?changeadrx2=[adresse]&changetox2=[Status]
wobei Status sein kann: Auto
, Hand/Ein
und Hand/Aus
(jeweils als Integer kodiert).
Auch wenn man dort "Auto" setzt, wird über api.cgi
lediglich 0 oder 1 ausgegeben.
Man kann also nicht zwischen Auto/Ein
und Hand/Ein
unterscheiden (oder zwischen Auto/Aus
und Hand/Aus
).
Vielleicht habe ich da etwas übersehen?
Dropdown anstelle Schalten nutzen. ;)
Nur hab ich wohl das selbe Problem wie viele. Die URL hab ich raus, funktioniert im Browser auch (auch ikognito). Nur über Node-Red nicht. Die URL wird versende, ich erhalte Status 200, nur schaltet bei der CMI gar nix.
Hallo ich versuche verzweifelt gerade über die Web Seite vom UVR in die Datenbank einzulogen. Leider kommt immer wieder passwort Falsch. und ReferenceError: console_log is not defined Für Hilfe wäre ich sehr dankbar. Grüße RR