NEWS
[GELÖST] Homepilot Umweltsensor mit Javascript auslesen
-
Hallo zusammen, ich habe zwar einen homeassistant. Hoffe aber mir hilft hier jemand.
Nach dem Firmwareupdate des Homepilots gestern gehen meine Aktoren nicht mehr über den home assistant zu steuern.
ich benutze das Kommando :
switch:
- platform: command_line
switches:
beregnungvorgarten:
command_on: curl "http://192.168.2.2/deviceajax.do?cid=10&did=1010022&command=1"
command_off: curl "http://192.168.2.2/deviceajax.do?cid=11&did=1010022&command=1"
was wurde da an der API vom Homepilot geändert ?
Würde mich über Hilfe freuen.
Danke
- platform: command_line
-
@slkschlumpf
schau mal bei Facebook in der Gruppe - https://www.facebook.com/groups/homepilot/ - Da wird auch schon diskutiert ... Vielleicht hilft das ja schon. Ich brauche auch noch Hilfe, aber das muss ja auch erstmal hier ankommen und die richtigen Personen betreffen ... Aber das wird bestimmt bald alles gelöst werden -
@meicker sagte:
Ich würde mich sehr freuen wenn Du mir da eventuell weiter helfen könntest ..
Ohne zu wissen, was sich geändert hat, kann ich nicht helfen.
Ändere mal Zeile 42 invar temp = parseFloat(data[37].value);
-
@paul53
Hi Paul,
danke schon mal für die Rückmeldung. Habe ich geändert, ist aber glaube ich nicht richtig. Das heißt ja nicht mehr Data, das war bei dem alten JSON noch richtig.
Schau mal in meinem ersten Post, da habe ich die neue JSON abgebildet und hier im Spoiler eingefügt.Wichtig ist doch jetzt erst einmal der Weg zu den Daten. Wenn ich das richtig sehe ist das Zeile 26 Die habe ich geändert von
var data = JSON.parse(body).data; in
var data = JSON.parse(body).payload.device.capabilities;
um es an die neue JSON anzupassenIn Zeile 42/43 soll dann auf [37] zugegriffen werden und die Daten übertragen werden.
Kannst Du damit jetzt mehr anfangen ? Das Script ist hier im Spoiler noch mal drin
Vielen dank nochmal und viele Grüße,
Marc -
@meicker sagte:
ist aber glaube ich nicht richtig.
Ist doch richtig, denn die Variable data enthält das Array, an dessen Index 37 das Objekt mit der Temperatur enthalten ist.
-
@paul53
jetzt hab ich es verstandenEs funktioniert. Ich war mir nicht sicher. Ich dachte halt ich habe das total falsch angefangen ... Danke für den Hinweis !
Ich versuche gleich mal die anderen einfachen Dinge ... aber da waren auch noch kompliziertere Datenpunkte drin wo was umgewandelt wurde. Ich versuche es erstmal und wenn ich nicht klar komme darfst Du mir gerne wieder einen denkanstoß geben
Danke DIR !
vg
Marc -
@paul53
klappt soweit, komme gut weiter ...Ich bekomme bei einem datenpunkt ein 'warn' - er funktioniert, aktuell ist er 'true'
createState('Homepilot.Regen', 0, {type: 'boolean', unit: ''});
var regen = data[133].value;
setState('Homepilot.Regen', regen, true);und die Logmeldung ist:
javascript.0 at Request._callback (script.js.Homepilot.Sensordaten1:46:13)Zeile 46 ist -> setState('Homepilot.Regen', regen, true);
Hast Du eine Idee ?
vg
Marc -
@meicker sagte:
var regen = data[133].value;
Es wird ein String geliefert, deshalb ändere es:
var regen = false; if(data[133].value == 'true') regen = true;
-
SUPER
Klappt natürlich ... DANKE !!!
Und jetzt hab ich noch eine Kleinigkeit ... wie wandle ich den Timestamp in ein Datum mit Zeit um ? Was ich im Netz gefunden habe war alles ellenlanger code ...
var aktualisiert = data[37].timestamp;
setState('Homepilot.Aktualisiert', aktualisiert, true);Geht das überhaupt einfach ?
-
@meicker sagte:
Geht das überhaupt einfach ?
Ja, mit formatDate(). Der Datenpunkt muss vom Typ "string" sein.
var aktualisiert = formatDate(data[37].timestamp, 'DD.MM.YY hh:mm:ss');
-
@paul53 said in [GELÖST] Homepilot Umweltsensor mit Javascript auslesen:
var aktualisiert = formatDate(data[37].timestamp, 'DD.MM.YY hh:mm:ss');
Ganz herzlichen Dank Paul !!!
-
Hallo,
gibt es für mein Schalten der Aktoren auch schon eine Lösung ?
die Kommandos
command_on: curl "http://192.168.2.2/deviceajax.do?cid=10&did=1010022&command=1"
command_off: curl "http://192.168.2.2/deviceajax.do?cid=11&did=1010022&command=1"funktionieren nicht mehr.
-
@slkschlumpf
soweit ich aktuell weiß noch nicht ... aber ich frage mal eben jemanden ...Das Problem ist das es noch nicht genügend Leute gibt die Informationen bekommen haben ... Rademacher sagt zwar auf Youtube das die Schnittstelle extra überarbeitet wurde um das Zusammenspiel zu vereinfachen, auf der anderen Seite habe ich 'noch' keine Informationen dazu bekommen können ...
Ich weiß das wenigstens einer an einem Adapter arbeitet. Dort habe ich gerade gefragt. Wenn ich was höre gebe ich Bescheid ...
vg
Marc