[HowTo] Sonoff POW an Fhem anbinden

Begonnen von Reinhart, 07 November 2016, 16:53:53

Vorheriges Thema - Nächstes Thema

UvG

Hallo Billy,
ja so würde ich das auch gerne machen. Leider funktioniert bei mir ja schon "sonoffpow" nicht.
Wo setzt man denn die Client ID?

Reinhart

#46
ja genau, so ist es.

Ist im Wiki gleich am Anfang des Kapitels POW Software erwähnt und kann unter "Project" eingestellt werden.

#define PROJECT                "sonoffpow"     // PROJECT is used as the default topic delimiter and OTA file name

Wenn das vor dem compilieren übersehen wurde macht es auch nichts, dann halt im Menü unter MQTT (Topic) einstellen.
Auch die Client ID kann hier eingestellt werden.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

UvG

Hallo Reinhart,
danke für die Anwort,
mit der Einstellung aus dem Wiki klapps bei mir nicht.
Die 2 Variante hat sofort funktioniert.

Ulrich

Reinhart

meinst du "define Project" klappt nicht?

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

#49
noch was wichtiges, die meisten der Settings werden beim Neuflashen NICHT überschrieben,d.h wenn einmal was falsches drinnen steht, steht es nach dem nächsten Flashen immer noch dort.

Das hat aber den Vorteil, das die gesamten WIFI Settings nicht immer überschrieben werden! Genau so ist es mit Project, das gibt nur den neuen "Default" vor (der Text in Feld darüber), überschreibt aber nicht den alten Wert!
Schau im Bild darüber, da steht neben dem Feld "Topic" in Klammer (sonoffpow) und darunter die echte Topic "sonoffpow2".

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

#50
gelöscht.
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Billy

@Reinhart
Wenn ich am Sonoff POW z.B. eine Lampe schalte, dann werden die Daten sofort im Sonoff WEB angezeigt. z.B.
--------------------------------------------
Voltage:   224 V
Current:   0.454 A
Power:   103 W
Power Factor:   1.00
Energy Today:   0.049 kWh
Energy Yesterday:   0.000 kWh
--------------------------------------------
In FHEM kommen die Daten bei mir verzögert  abhängig vom eingestellten TelePeriod an.

Hast du schon eine Möglichkeit gefunden, dass die Daten beim Schalten zeitnah in FHEM ankommen?

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

P.A.Trick

Zitat von: Billy am 13 Januar 2017, 16:10:15
@Reinhart
Wenn ich am Sonoff POW z.B. eine Lampe schalte, dann werden die Daten sofort im Sonoff WEB angezeigt. z.B.
--------------------------------------------
Voltage:   224 V
Current:   0.454 A
Power:   103 W
Power Factor:   1.00
Energy Today:   0.049 kWh
Energy Yesterday:   0.000 kWh
--------------------------------------------
In FHEM kommen die Daten bei mir verzögert  abhängig vom eingestellten TelePeriod an.

Hast du schon eine Möglichkeit gefunden, dass die Daten beim Schalten zeitnah in FHEM ankommen?

Billy

Mit welcher Firmware hast du den SONOFF betankt Billy?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Billy

#53
Zitat von: P.A.Trick am 13 Januar 2017, 17:12:00
Mit welcher Firmware hast du den SONOFF betankt Billy?

Mit Sonoff by Theo Arends Version 3.1.6

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Reinhart

so richtig habe ich in dieser Richtung noch nichts gefunden, da alle Messwerte ja als Telemetriedaten übertragen werden und da ist rein die "Telemetric period" entscheidend was da eingestellt ist. Ich habe es auf 5 Minuten eingestellt, was dann im schlimmsten Fall sicherlich lange dauert und dem Begriff zeitnah nicht gerecht wird.

In der Webgui werden die Daten ja so alle 2 Sekunden refresht, dass ist sehr schnell. Bei meinen ersten Test war ich auf 30 Sekunden, aber wenn du die Daten in eine DB legst wird das halt sehr viel. Zumindest stört man nicht den Funkverkehr damit.

Man müsste mal in der Source schauen wenn ein Schaltvorgang ausgelöst wird, dass man dann ein paar Sekunden später die Telemetrie anstößt. Bei so Spielereien wie "Waschmaschine ist fertig" sollten 2 Minuten noch ausreichend sein.

Received PUBLISH (d0, q0, r0, m0, 'cmnd/sonoffpow/1/status/set', ... (1 bytes))
cmnd/sonoffpow/1/status/set 8
Received PUBLISH (d0, q0, r0, m0, 'tele/sonoffpow/RESULT', ... (78 bytes))
tele/sonoffpow/RESULT PWR: Voltage 228 V, Current 0.477 A, Power 119 W, Today 0.935 kWh, Factor 1.00

man könnte sich aber auch auf Fhem Seite was basteln und nach einem Schaltvorgang mit "cmnd/sonoffpow/1/status/set -m "8" den Status abfragen. Das Ergebnis muss man dann aber auch filtern und passt so gar nicht zu den üblichen Meldungen.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Billy

Zitat von: Reinhart am 13 Januar 2017, 18:38:47
so richtig habe ich in dieser Richtung noch nichts gefunden, da alle Messwerte ja als Telemetriedaten übertragen werden und da ist rein die "Telemetric period" entscheidend was da eingestellt ist. Ich habe es auf 5 Minuten eingestellt, was dann im schlimmsten Fall sicherlich lange dauert und dem Begriff zeitnah nicht gerecht wird.

In der Webgui werden die Daten ja so alle 2 Sekunden refresht, dass ist sehr schnell. Bei meinen ersten Test war ich auf 30 Sekunden, aber wenn du die Daten in eine DB legst wird das halt sehr viel. Zumindest stört man nicht den Funkverkehr damit.

Man müsste mal in der Source schauen wenn ein Schaltvorgang ausgelöst wird, dass man dann ein paar Sekunden später die Telemetrie anstößt. Bei so Spielereien wie "Waschmaschine ist fertig" sollten 2 Minuten noch ausreichend sein.

Das waren auch meine Überlegungen.
Du könntest ja auch Theo um ein "Enhancement" ansprechen, das nach einem power "ON/OFF" den Telemetriekanal triggert!
Dann braucht man sonst nichts ändern. Das wäre aus meiner Sicht die beste Lösung.
Gruß
Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Reinhart

#56
ja das wäre ohnehin das Beste, sonst muss man bei zukünftigen Versionen ständig umbauen.

Habe an Theo die Anfrage #236 gestellt. Habe auch #221 als enhancement für den 4CH aufgemacht.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Billy

FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

UvG

Hallo zusammen,
ich habe jetzt mehrere neue Sonoff Pow Module und diese beschickt mit dem Strech 3.2.10. Hat auch funktioniert aber mit dem einbinden unter FHEM habe ich Probleme. Die im Wiki angegebenen Readings funktionieren so nicht. In der Console des Sonoff bekomme ich folgenede Meldungen:
14:27:35 MQTT: tele/sonoff_pow2/RESULT = {"Info1":{"AppName":"Sonoff Pow Module", "Version":"3.2.10", "FallbackTopic":"DVES_E8A6D0", "GroupTopic":"pows"}}
14:27:35 MQTT: tele/sonoff_pow2/RESULT = {"Info2":{"WebserverMode":"Admin", "Hostname":"sonoff_pow2-1744", "IPaddress":"192.168.188.48"}}
14:27:36 MQTT: stat/sonoff_pow2/RESULT = {"POWER":"ON"}
14:27:36 MQTT: stat/sonoff_pow2/POWER = ON
14:27:43 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:27:43", "Uptime":0, "POWER":"ON", "Wifi":{"AP":1, "SSID":"upwvg", "RSSI":100}}
14:27:43 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:27:43", "Energy":{"Yesterday":"0.000", "Today":"0.000", "Period":0, "Power":0, "Factor":"0.00", "Voltage":217, "Current":"0.000"}}
14:30:31 MQTT: stat/sonoff_pow2/RESULT = {"POWER":"OFF"}
14:30:31 MQTT: stat/sonoff_pow2/POWER = OFF
14:30:38 MQTT: stat/sonoff_pow2/RESULT = {"POWER":"ON"}
14:30:38 MQTT: stat/sonoff_pow2/POWER = ON
14:32:45 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:32:45", "Uptime":0, "POWER":"ON", "Wifi":{"AP":1, "SSID":"upwvg", "RSSI":98}}
14:32:45 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:32:45", "Energy":{"Yesterday":"0.000", "Today":"0.000", "Period":0, "Power":0, "Factor":"0.00", "Voltage":217, "Current":"0.000"}}
14:37:59 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:37:59", "Uptime":0, "POWER":"ON", "Wifi":{"AP":1, "SSID":"upwvg", "RSSI":100}}
14:37:59 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:37:59", "Energy":{"Yesterday":"0.000", "Today":"0.000", "Period":0, "Power":0, "Factor":"0.00", "Voltage":217, "Current":"0.000"}}
14:43:12 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:43:11", "Uptime":0, "POWER":"ON", "Wifi":{"AP":1, "SSID":"upwvg", "RSSI":98}}
14:43:12 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:43:12", "Energy":{"Yesterday":"0.000", "Today":"0.000", "Period":0, "Power":0, "Factor":"0.00", "Voltage":217, "Current":"0.000"}}
14:48:19 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:48:19", "Uptime":0, "POWER":"ON", "Wifi":{"AP":1, "SSID":"upwvg", "RSSI":100}}
14:48:19 MQTT: tele/sonoff_pow2/TELEMETRY = {"Time":"2017-01-26T14:48:19", "Energy":{"Yesterday":"0.000", "Today":"0.000", "Period":0, "Power":0, "Factor":"0.00", "Voltage":217, "Current":"0.000"}}


wie bekomme ich die denn in Readings angezeigt. Gibt es dafür schon eine Anleitung?

Gruß Ulrich

UvG

Hallo zusammen,
habe die Lösung gerade gefunden. Man muß das Messageformat auf Legacy stellen. Dies funktioniert in der Console mit dem Befehl:
cmnd/sonoff_pow2/MessageFormat 0
Danach waren die Werte wieder wie vorher und die Readings konnte ich anhand des Wiki anlegen.
16:28:34 MQTT: tele/sonoff_pow2/RSSI = 100 %
16:28:34 MQTT: tele/sonoff_pow2/YESTERDAY_ENERGY = 0.000 kWh
16:28:34 MQTT: tele/sonoff_pow2/TODAY_ENERGY = 0.000 kWh
16:28:34 MQTT: tele/sonoff_pow2/PERIOD_ENERGY = 0 Wh
16:28:34 MQTT: tele/sonoff_pow2/CURRENT_POWER = 0 W
16:28:34 MQTT: tele/sonoff_pow2/POWER_FACTOR = 0.00
16:28:34 MQTT: tele/sonoff_pow2/VOLTAGE = 217 V
16:28:34 MQTT: tele/sonoff_pow2/CURRENT = 0.000 A
16:28:34 MQTT: tele/sonoff_pow2/TIME = 2017-01-26T16:28:34


Auch zu schalten habe ich entgegen Wiki folgenden Eintrag gemacht:

publishSet              ON OFF cmnd/sonoff_pow2/Light

Gruß Ulrich