Próbuję utworzyć urządzenie wirtualne, które będzie cyklicznie odczytywało pobór mocy elektrycznej z serwera Efergy Engage. Na serwerze dostępne jest API, dzięki któremu możemy otrzymać odczyt w formacie json:
https://engage.efergy.com/mobile_proxy/getInstant?token=HnMmDzWlLc3j5yIoFleXQb6BYghTX8IM
{"age":3,"last_reading_time":1471694520000,"reading":232.185}
Niestety nie mogę sobie poradzić. Uruchomienie debugu daje mi następującą informację:
[DEBUG] 15:07:51: [ERROR] 15:07:51: line 7: Expected value but found T_END at character 1
Wygląda to tak, jakby zapytanie nie zostało wykonane.
efergy = Net.FHttp("https://engage.efergy.com", 443)
local data = efergy:GET("/mobile_proxy/getInstant?token=xxx")
fibaro:debug(data)
jsonTable = json.decode(data)
fibaro:debug(jsonTable.reading)
fibaro:call(617, "setProperty", "ui.Label1.value", jsonTable.reading)
Dla ciekawskich, poniżej lista dostępnych poleceń API:
http://napi.hbcontent.com/document/index.php
oraz komentarz:
http://blog.krisdaniels.be/efergy-engage-api-reference-part-1/
http://blog.krisdaniels.be/efergy-engage-api-reference-part-2/
Zważywszy, że można przez API zaciągnąć również historię zużycia energii za ostatni rok, jest to całkiem przyjemny system pomiarowy dla całego domu. Myślę, że miałoby przyszłość dodanie gotowego pluginu do Fibaro...
Kod udostępniam razem z moim tokenem do testów. Gdy uda się to uruchomić, to unieważnię ten token.
Będę wdzięczny za wskazówki, jak to poprawić.