Hallo,
Ich habe auf Bitte eines Users ein kleines Modul geschrieben welches die Daten eines SmartPi Smartmeters (http://www.emanager.eu/de/products/smartpi) auslesen kann.
Grüße
Leon
Zuerst mal: Toll, wie dieses Forum hier funktioniert. Ich bin hell begeistert. Danke vielmals!
Ich habe das Modul getestet. Leider werden nicht alle Daten in den Readings ausgegeben.
Es fehlen z.Bsp. alle Power-Daten. Kann diese auch nicht mir get aufrufen.
Gruss Chris
Stell Mal bitte auf verbose 5 und mach mal ein get all. Danach muss im Log der JSON String auftauchen.
Grüße
und hier die Antwort...
2017.06.16 21:50:36 4: WEB_192.168.1.17_50665 POST /fhem?detail=mySmartMeter&dev.getmySmartMeter=mySmartMeter&cmd.getmySmartMeter=get&arg.getmySmartMeter=all&val.getmySmartMeter=all&XHR=1&addLinks=1&fw_id=3392; BUFLEN:0
2017.06.16 21:50:36 5: Cmd: >get mySmartMeter all all<
2017.06.16 21:50:36 5: Starting notify loop for mySmartMeter, 1 event(s), first is fetch data
2017.06.16 21:50:36 5: End notify loop for mySmartMeter
2017.06.16 21:50:36 4: HttpUtils url=http://192.168.1.21:1080/api/all/all/now
2017.06.16 21:50:36 5: SmartPi (mySmartMeter) - Send with URI: 192.168.1.21:1080/api/all/all/now
2017.06.16 21:50:36 4: WEB: /fhem?detail=mySmartMeter&dev.getmySmartMeter=mySmartMeter&cmd.getmySmartMeter=get&arg.getmySmartMeter=all&val.getmySmartMeter=all&XHR=1&addLinks=1&fw_id=3392 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2017.06.16 21:50:36 5: HttpUtils request header:
GET /api/all/all/now HTTP/1.0
Host: 192.168.1.21:1080
User-Agent: fhem
2017.06.16 21:50:36 4: http://192.xxx.x.xx:1080/api/all/all/now: HTTP response code 200
2017.06.16 21:50:36 4: HttpUtils http://192.xxx.x.x:1080/api/all/all/now: Got data, length: 1280
2017.06.16 21:50:36 5: HttpUtils response header:
HTTP/1.0 200 OK
Date: Fri, 16 Jun 2017 19:50:36 GMT
Content-Length: 1280
Content-Type: text/plain; charset=utf-8
2017.06.16 21:50:36 4: SmartPi (mySmartMeter) - Write Readings
2017.06.16 21:50:36 5: Starting notify loop for mySmartMeter, 52 event(s), first is serialNumber: smartpi160812345
2017.06.16 21:50:36 5: End notify loop for mySmartMeter
Hast Du wirklich nur beim SmartPi Device auf verbose 5 gestellt?
Lade Dir mal bitte die neue Version aus dem Git runter, habe erstmal mehr Logausgaben drin. Ausserdem hatte ich noch einen allgemeinen Fehler drin.
Grüße
Hallo Leon
Sorry, natürlich im GLOBAL geändert :)
Wenn ich GET Phase 1 Power wähle werden nur die ROTEN Readings eingetragen.
Hier die Log-Daten:
2017.06.17 12:19:04 5: SmartPi (mySmartMeter) - Send with URI: 192.168.1.21:1080/api/all/all/now
2017.06.17 12:19:04 4: SmartPi (mySmartMeter) - Recieve JSON data: {"serial":"smartpi160812345","name":"B1.1_House","lat":52.3667,"lng":9.7167,"time":"2017-06-17 10:19:04","softwareversion":"","ipaddress":"169.254.3.10","datasets":[{"time":"2017-06-17 10:19:02","phases":[{"phase":1,"name":"phase 1","values":[{"type":"current","unity":"A","info":"","data":1.0003561},{"type":"voltage","unity":"V","info":"","data":230},{"type":"power","unity":"W","info":"","data":230.0819},{"type":"cosphi","unity":"","info":"","data":-0.72846437},{"type":"frequency","unity":"Hz","info":"","data":49.306625}]},{"phase":2,"name":"phase 2","values":[{"type":"current","unity":"A","info":"","data":0.45092472},{"type":"voltage","unity":"V","info":"","data":230},{"type":"power","unity":"W","info":"","data":103.712685},{"type":"cosphi","unity":"","info":"","data":-0.82941854},{"type":"frequency","unity":"Hz","info":"","data":48.192772}]},{"phase":3,"name":"phase 3","values":[{"type":"current","unity":"A","info":"","data":0.4813663},{"type":"voltage","unity":"V","info":"","data":230},{"type":"power","unity":"W","info":"","data":110.71425},{"type":"cosphi","unity":"","info":"","data":-0.2584238},{"type":"frequency","unity":"Hz","info":"","data":50.354053}]},{"phase":4,"name":"phase 4","values":[{"type":"current","unity":"A","info":"","data":0.7937981}]}]}]}
2017.06.17 12:19:04 4: SmartPi (mySmartMeter) - Write Readings
Gruss Chris
Ok ich sehe schon. Schaue ich mir an.
Grüße
Bitte die neue Version vom Git laden und installieren. Danach ein reload machen und zum Schluß noch deletereading DEVICENAME .*
DEVICENAME ist der Name des SmartPi Devices.
Grüße
Hallo Leon
Funktioniert! Besten Dank für die Unterstützung. Jetzt bin ich an einem geeigneten UI.
Gruss Chris
Sehr schön. Na dann viel Spaß.
Wenn noch was ist einfach melden.
Grüße
@CoolTux
Herzliches Dankeschön und ebenso herzliches Kompliment für das Modul. Ging alles sehr einfach und schnell.
Ich habe das Modul soeben offiziell gemacht. Morgen Früh dann per Update Befehl
Ja e gerade gesehen das in der Commandref noch die Attribute fehlen. Reiche ich die Tage nach.
Prost Neujahr an alle hier!!!
Ich hab damals das Thema mit dem SmartPi glaube ich angeschubst. Blöde Frage jetzt von mir. Habt ihr den SmartPi auf den gleichen Raspi installiert wo auch FHEM läuft oder auf einen eigenen RasPi? Würde beides gehen?
Danke
Gruß
Jörg
Frohes Neues.
Es würde beides gehen.
Grüße
Moin CoolTux,
wie immer schnell beim Antworten :). Wie würde das laufen. FHEM Raspi holt die Daten vom SmartPi Raspi ab - TELNET, FTP oder per MQTT z.B.? Mach halt viel mit MQTT.
Gruß
Jörg
Der SmartPi ist doch eigentlich nichts weiter wie ein Webfrontend und die darunter liegende Software zum Datenerfassen. Du sprichst doch den SmartPi ganz normal über seinen http Port an.
Ah ok und so macht das Dein Modul jetzt auch? Frag so blöd weil in der Commandref kein define steht mit einer IP Adresse und Port usw..
Gruß
Jörg
Zitat
define <name> SmartPi <HOST>
Du hast Recht es fehlt in der Tat ein define Beispiel. Ich werde es ergänzen
Super jetzt blick ich da auch durch - Danke :). Hab aber auch gerade auf der Homepage vom Hersteller was von MQTT Support gelesen.
Ich habe soeben eine neue Version in mein GitHub geladen. Kann das bitte mal jemand testen.
Commandref erweitert und ne NotifyFn Funktion eingebaut damit das mit den Attributen etwas sauberer läuft.