Liquid Check - JSON

Hi Leute

Wir haben ja die Füllstandsmessung Liquid Check von SI Elektronik im Programm. Das funktioniert mit dem IPS/JASON auch perfekt. Nur weiß ich einfach nicht wie man das Auslösen der Messung aus IPS heraus machen kann. Kann mir jemand das hier mal in IPS übersetzen ?

url: http://MY-IP-ADDRESS/command

method: POST

payload: ‚{ „header“ : { „namespace“ : „Device.Control“ , „name“ : „StartMeasure“ , „messageId“ : „1“ , „payloadVersion“ : „1“ } , „payload“ : null }‘
content_type: ‚application/json; charset=utf-8‘
Button-Card:
type: button
name: Manuelle Messung starten
tap_action:
action: call-service
service: rest_command.zisterne_messung
service_data: {}
target: {}
icon: ’

Gruss
Marco

Leider nein. Gibt es dafür irgendwie mehr Doku?

paresy

Es geht wirklich nur um den Aufruf … nicht um den Einbau des Gerätes …

http://my-ip-address/command

payload: ‚{ „header“ : { „namespace“ : „Device.Control“ , „name“ : „StartMeasure“ , „messageId“ : „1“ , „payloadVersion“ : „1“ } , „payload“ : null }‘

Siehe Doku ganz unten (der Einleseteil funktioniert ja …) :

Das könnte klappen.

$postdata = '{"header":{"namespace":"Device.Control","name":"StartMeasure","messageId":"1","payloadVersion":"1"},"payload":null}';

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://ip-vom-geraet/command', false, $context);

paresy

Da ich nur Bahnhof verstehe kann ich nur mit den Meldungen dienen …

14 $result = file_get_contents(‚http://192.168.130.166‘, false, $context);

Notice: file_get_contents(): Content-type not specified assuming application/x-www-form-urlencoded in /var/lib/symcon/scripts/38967.ips.php on line 14

Warning: file_get_contents(http://192.168.130.166): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found
in /var/lib/symcon/scripts/38967.ips.php on line 14

Magst du es noch einmal versuchen? Da fehlte das /command am Ende der URL.

paresy

Das passt jetzt und die Messung wird jetzt ausgelöst !
Es kommt zwar noch diese Notiz
Notice: file_get_contents(): Content-type not specified assuming application/x-www-form-urlencoded in /var/lib/symcon/scripts/38967.ips.php on line 14

Aber das kann man ignorieren ?

Reicht jedenfalls um die Messung auszulösen:

Für allen anderen - Damit kann man eine Zisternenmessung am Gerät z.b. auf 12 oder 24h einstellen und wenn man z.B. die Zisternenpumpe einschaltet oder es regnet die Messanzahl erhöhen, wenn man z.B. die Pumpe rechtzeitig abschalten will wenn die Zisterne leer läuft oder die Pumpe einschalten, wenn Sie überläuft…

Danke Paresy : - )

Gruss
Marco

Hallo an @mpcc ,
du schreibst in Deiner Anfrage, dass die Liquid-Check mit IPS perfekt zusammenspielt, gibt es da ein Modul/Beispielscript, welches Du mir zur Verfügung stellen könntest?
Ich bin auch mehr auf der Hardware-Ebene zu Hause und für fertige Lösungen softwareseitig sehr dankbar.
Ich bedanke mich im voraus für Deine Mühe
Viele Grüße
Thilo

Hi Thilo

du musst da nichts scripten. Füge im IPS eine Instanz „JSON“ hinzu und konfiguriere das Gateway auf die Liquid. URL : http://192.168.xxx.xxx/infos.json
Der Rest passiert dann automatisch sobald das erste Mal vom Gerät gelesen wurde …

Gruss Marco

Vielen Dank für den Hinweis, das funktioniert ja wunderbar.
Schönen Restsonntag noch…
Viele Grüße
Thilo