HTTP Get / Post --> Sensibo

Hallo liebe Smartha Gemeinde.

Ich habe mit meiner Smartha die größte Freude.
Mittlerweile kommuniziert sie schon mit einigen meiner Geräte.

Nun bin ich gerade dabei meine Klimaanlagen (die ja dank Sensibo-Devices schon smart sind) noch smart(h)er zu machen.

Sensibo hat eine API. Über diese API bekomm ich ein json raus. In diesem Json sind alle meine Geräte mit Messwerten und BiBaBo aufgeschlüsselt.
Damit kann ich ja schon arbeiten.
Befehl:
GET https://home.sensibo.com/api/v2/users/me/pods?fields=*&apiKey={api_key}

Nun könnte ich die Geräte auch mittels POST Steuern.
POST https://home.sensibo.com/api/v2/pods/{device_id}/acStates?apiKey={api_key} -d „{„acState“:{„on“:true}}“
Welchen Knoten nehme ich hier?
Wieder den selben HTTP_Request?
Wenn ich einen Debug dahinter hinsetze kommt ‚00‘ raus, und nichts passiert.
Aber vielleicht liegt der Fehler ja auch in der Umsetzung
-d „{„acState“:{„on“:true}}“ → scheint mir nicht so das richtige Attribut zu sein.

Ich denke das hier im POST der Hund begraben ist!

Im request kannst du das einstellen mit Post:

image

und was du übergibst dazu kannst du entweder ein template nehmen.

image
So in etwa kannst Du das machen um sie zu steuern:
flows.json (1,9 KB)

Schau noch mal richtig nach ich habe jetzt nur schnell anhand deiner Daten etwas zusammen geklickt. Du muss bei JSON auf die Anführungszeichen achten ’ und „ werden nicht akzeptiert nur " die normalen nur mal als tipp ;).

Gruß
Michael

1 „Gefällt mir“

Danke Michael,
Ich komm aber dennoch nicht weiter.
Mein HTTP-Post scheint richtig zu sein. DeviceID und API funktioieren für eine andere Abfrage

Mit dem Syntax in deinem Template funktioniert das leider auch nicht.
{„acState“:{„on“:true}}
Als Debug bekomme ich immer „/00“ raus und es passiert nichts.

https://sensibo.github.io/#overview Egal was ich als Template eingebe, es ändert nichts an der ganzen Geschichte.

Hi du hast gesehen das nicht nur post dort ist sondern auch PUT und DELETE die benutzen die ganzen befehle, vielleicht liegt es daran ?
Da ich vermute niemand hat die Anlage musst du ein wenig Rumprobieren ;).
Noch ein Tipp mach kein Copy und Past sondern schreibe es selber rein damit vermeidest du Fehler die mit dem Zeichensatz zu tun haben.
Da get schon mal geht weisst du das es nur eine Kleinigkeit sein kann.

Gruß
Michael

Hallo Michael,

Danke. Ja PUT und DELETE gibt es auch. Diese Befehle benötige ich nicht.
Ich denke auch, dass es irgendwo in der JSON Ausführung hängt.

Micha hatte mal ein Programm und POST-Befehle zu senden (zum Austesten).
Mal sehen. Wird so nicht das Problem sein hier den richtigen Code zu finden!

So. Nun ist der Weihnachtsstress vorbei, und es geht munter weiter!
Ich stehe noch immer vor meinem Problem mit Sensibo.
Auf meinen Get Request bekomme ich zumindest alle Daten von meinen 4 Klimaanlagen ausgespuckt.
Nun möchte ich die Temp und Feuchtedaten in virtuelle Geräte packen. Dafür müsste ich aber die entsprechenden Werte aus dem JSON rausbekommen.
Das ist grundsätzlich ja nicht so schwer und würde mit einem Template Knoten funktionieren.
Leider sind aber die Geräte im JSON mit Zahlen versehen.
{{payload.object.result.0.measurements.temperature.}} → funktioiert leider nicht, ich denke die „0“ stört hier!
image

Hi @mexx.111,

eine Alternative zum template-Knoten waere ein kleiner function-Knoten, in dem das Objekt „auseinandergedroeselt“ und an entspr. Ausgaenge geleitet wird :thinking:

– Micha

@mscheffler Danke Micha, aber diese Idee ist für mich noch schlechter geeignet.
Ich kenn mich mit der Node-Programmierung überhaupt nicht aus, und bei der function steig ich komplett aus!
Ich häng ja noch immer daran, weil ich einfach die Kanäle nicht aufschlüsseln kann.
Eigentlich müsste ich ja mit einem json switch auch die einzelnen Werte rausbekommen, oder?

Aber wie gebe ich
payload.object.result.0.measurements.temperature.
im Node ein?
Denn die Zahlen mag er ja scheinbar nicht???
image

Hey @mexx.111,

das muss ich mir mal in Ruhe anschauen … ich kann mich dunkel dran erinnern so etwas aehnliches vor ein paar Wochen mal gemacht zu haben … :thinking:

– Micha

@mscheffler ,
Das „so etwas ähnliches“ könnte ja auch bei mir gewesen sein :wink:
Ich hätte ja noch einen schönen Fall, wo ich schon wieder hänge!

Momentan bin ich ja noch immer dabei, soviele Daten meines Hauses zu sammeln, bzw, was kann ich alles über die Smartha sehen.
Und dann fang ich mal an das alles irgendwie brauchbar zu vernetzten.

Hier ein kurzes Update!

Danke Micha!!
@mscheffler hat sich mal bei mir in die Programmierung „gehackt“
Grundsätzlich wäre der „template“ Node mit payload.object.result.0.measurements.temperature. ja richtig gewesen.
Hat aber aus irgendeinem Grund nicht funktioiert (Bug?)
Nun hat Micha den JsonSwitch eingesetzt.
Meine Smartha liest nun Status, Temperatur und Feuchtigkeit von all meinen 4 Klimaanlagen in einem Node aus!
Nächster Schritt:

  • Diese Daten in ein Virtuelles Gerät schieben, und über die Ansicht anzeigen lassen.
  • Die Geräte über die Smartha triggern. (Über die CCU3 ist das schon möglich)

Auch hier möchte ich mal ein Update geben.
Ich lese nun Temperatur, Feuchte und Status meiner Klimaanlagen aus.
Für die Temperatur und Feuchte schreibe ich die Daten in eine Variable (damit ich später wieder Kommastellen bekomme, multipliziere ich mit 100.
Den Status schiebe ich gleich in VirtuelSwitch

Da ich es über die smartha nicht geschafft habe, die Klimaanlagen zu schalten, nehme ich hier eine Variable auf der CCU
Diese schreibe ich über die smartha und auf der CCU läuft ein Skript um die Klimaanlage zu triggern.

Ich möchte aber auch die Temperatur/Feuchte angezeigt bekommen, deshalb mache ich aus allen möglichen Temperaturmessgeräten einen Durchschnittswert, und schreibe diesen in ein VirtuelThermometer.
Und damit ich ein Komma rausbekomme, dividiere ich hier wieder die Potenz raus.
image
image

1 „Gefällt mir“

Es eröffnen sich wieder neue ungeahnte Möglichkeiten!
Danke an @Vegas
Ich wäre nie auf die Idee gekommen Node-Red Flows zu importieren!
Auf Node-Red gibts schon ein Sensibo AddOn
Dieses funktioniert auch hier!!!
Hier der Testflow!!
image
Sehr genial!!!

2 „Gefällt mir“