[HowTo] Sonoff POW an Fhem anbinden

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

Vorheriges Thema - Nächstes Thema

SamNitro

#120
Zitat von: Reinhart am 08 Februar 2017, 19:26:02
@SamNitro

schau mal hier, dann geht es wieder:  https://forum.fhem.de/index.php?topic=66714.new#new
Danke, ich habe die Dateien von dir benutzt und selber eine kompiliert.
Mich wundert aber trotzdem das es nicht im MQTT format ist.


Edit: Hat sich mit der neuen version erledig, jetzt ist es so wie es sein soll.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

octek0815

Zitat von: Reinhart am 06 Februar 2017, 09:30:58
genau diese Anwendung habe ich auch, ich steuere sogar weil das Thermostat defekt ist und der POW kehrt nach Stromausfall wieder in den letzten Zustand zurück!

Heute sind meine POWs angekommen. Gleiche den Arends Sketch drauf und in FHEM konfiguriert.
Funktionier auch soweit alles, jedoch nicht das der Ursprungszustand nach simuliertem Stromausfall wiederhergestellt wird.
War Strom an und ich ziehe das Ding aus der Steckdose und stecke es wieder rein wird zwar das Ding wieder eingeschaltet, aber nach kurzer Zeit (ca. 10 Sekunden) wieder ausgeschaltet.
Ich verstehe das nicht. Hier meine Def. in FHEM:

define Sonoff_Pow MQTT_DEVICE
attr Sonoff_Pow IODev myMQTTBroker
attr Sonoff_Pow devStateIcon ON:socket-on OFF:socket
attr Sonoff_Pow icon measure_power
attr Sonoff_Pow publishSet on off toggle cmnd/sonoffpow1/1/POWER/set
attr Sonoff_Pow retain 0
attr Sonoff_Pow stateFormat state
attr Sonoff_Pow subscribeReading_current tele/sonoffpow1/CURRENT
attr Sonoff_Pow subscribeReading_current_power tele/sonoffpow1/CURRENT_POWER
attr Sonoff_Pow subscribeReading_period_energy tele/sonoffpow1/PERIOD_ENERGY
attr Sonoff_Pow subscribeReading_rssi tele/sonoffpow1/RSSI
attr Sonoff_Pow subscribeReading_state stat/sonoffpow1/POWER
attr Sonoff_Pow subscribeReading_today_energy tele/sonoffpow1/TODAY_ENERGY
attr Sonoff_Pow subscribeReading_uptime tele/sonoffpow1/UPTIME
attr Sonoff_Pow subscribeReading_voltage tele/sonoffpow1/VOLTAGE
attr Sonoff_Pow subscribeReading_yesterday_energy tele/sonoffpow1/YESTERDAY_ENERGY

SamNitro

Zitat von: octek0815 am 08 Februar 2017, 19:39:13
Heute sind meine POWs angekommen. Gleiche den Arends Sketch drauf und in FHEM konfiguriert.
Funktionier auch soweit alles, jedoch nicht das der Ursprungszustand nach simuliertem Stromausfall wiederhergestellt wird.
War Strom an und ich ziehe das Ding aus der Steckdose und stecke es wieder rein wird zwar das Ding wieder eingeschaltet, aber nach kurzer Zeit (ca. 10 Sekunden) wieder ausgeschaltet.
Ich verstehe das nicht. Hier meine Def. in FHEM:

define Sonoff_Pow MQTT_DEVICE
attr Sonoff_Pow IODev myMQTTBroker
attr Sonoff_Pow devStateIcon ON:socket-on OFF:socket
attr Sonoff_Pow icon measure_power
attr Sonoff_Pow publishSet on off toggle cmnd/sonoffpow1/1/POWER/set
attr Sonoff_Pow retain 0
attr Sonoff_Pow stateFormat state
attr Sonoff_Pow subscribeReading_current tele/sonoffpow1/CURRENT
attr Sonoff_Pow subscribeReading_current_power tele/sonoffpow1/CURRENT_POWER
attr Sonoff_Pow subscribeReading_period_energy tele/sonoffpow1/PERIOD_ENERGY
attr Sonoff_Pow subscribeReading_rssi tele/sonoffpow1/RSSI
attr Sonoff_Pow subscribeReading_state stat/sonoffpow1/POWER
attr Sonoff_Pow subscribeReading_today_energy tele/sonoffpow1/TODAY_ENERGY
attr Sonoff_Pow subscribeReading_uptime tele/sonoffpow1/UPTIME
attr Sonoff_Pow subscribeReading_voltage tele/sonoffpow1/VOLTAGE
attr Sonoff_Pow subscribeReading_yesterday_energy tele/sonoffpow1/YESTERDAY_ENERGY


Versuch mal in der console:
POWERONSTATE 1
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

octek0815

Zitat von: SamNitro am 08 Februar 2017, 19:44:05
Versuch mal in der console:
POWERONSTATE 1

Leider keine Besserung...

00:00:00 APP: Project sonoffpow2 sonoffpow1 (Topic sonoffpow1, Fallback DVES_E76DFA, GroupTopic pows) Version 3.2.13
00:00:00 Wifi: Connecting to AP1 xxxxxx in mode 11N as sonoffpow1-3578...
00:00:04 Wifi: Connected
00:00:04 mDNS: Initialized
00:00:04 HTTP: Webserver active on sonoffpow1-3578.local with IP address 10.20.8.136
00:00:05 RSLT: stat/sonoffpow1/RESULT = {"PowerOnState":1}
00:00:06 MQTT: Attempting connection...
19:56:47 mDNS: Query done with 0 mqtt services found
19:56:47 MQTT: Connected
19:56:47 MQTT: tele/sonoffpow1/LWT = Online (retained)
19:56:47 MQTT: stat/sonoffpow1/POWER = OFF
19:56:47 MQTT: tele/sonoffpow1/RESULT = {"Info1":{"AppName":"Sonoff Pow Module", "Version":"3.2.13", "FallbackTopic":"DVES_E76DFA", "GroupTopic":"pows"}}
19:56:47 MQTT: tele/sonoffpow1/RESULT = {"Info2":{"WebserverMode":"Admin", "Hostname":"sonoffpow1-3578", "IPaddress":"10.20.8.136"}}
19:56:48 MQTT: stat/sonoffpow1/POWER = OFF
19:56:55 MQTT: tele/sonoffpow1/POWER = OFF
19:56:55 MQTT: tele/sonoffpow1/UPTIME = 0
19:56:55 MQTT: tele/sonoffpow1/AP = 1
19:56:55 MQTT: tele/sonoffpow1/SSID = xxxxxx
19:56:55 MQTT: tele/sonoffpow1/RSSI = 64
19:56:55 MQTT: tele/sonoffpow1/YESTERDAY_ENERGY = 0.000
19:56:55 MQTT: tele/sonoffpow1/TODAY_ENERGY = 0.000
19:56:55 MQTT: tele/sonoffpow1/PERIOD_ENERGY = 0
19:56:55 MQTT: tele/sonoffpow1/CURRENT_POWER = 0
19:56:55 MQTT: tele/sonoffpow1/POWER_FACTOR = 0.00
19:56:55 MQTT: tele/sonoffpow1/VOLTAGE = 0
19:56:55 MQTT: tele/sonoffpow1/CURRENT = 0.000
19:56:55 MQTT: tele/sonoffpow1/TIME = 2017-02-08T19:56:55

SamNitro

#124
Versuch doch mal bitte die neue version von Reinhart:

https://forum.fhem.de/index.php/topic,66714.new.html#new
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

octek0815

Zitat von: SamNitro am 08 Februar 2017, 20:04:12
Versuch doch mal bitte die neue version von Reinhart:

https://forum.fhem.de/index.php/topic,66714.new.html#new

Habe ich nun aufgespielt, nun kommt aber nur noch folgendes an...

tele/sonoffpow1/STATE {"Time":"2017-02-08T20:13:31", "Uptime":0, "POWER":"ON", "Wifi":{"AP":1, "SSID":"xxxxxx", "RSSI":96}}

... und sonst nix. :-(



octek0815

Hab nun die Alte Firmware wieder drauf gemacht und
#define MQTT_POWER_RETAIN      1
gesetzt und nun funktioniert es wie gewünscht.
Bin mir aber nicht sicher ob das Ändern von 0 auf 1 hier geholfen hat.

Reinhart

ja genau, das ist die Einstellung!

warum du mit der neuen Version nichts bekommen hast ist mir noch unklar. Hast du tatsächlich in der Konfiguration den Typ "6 Sonoff Pow" ausgewählt und gespeichert?

Bei Tasmota muss im Gegensatz zu MQTT Version das Modell im Webif eingestellt werden.

LG

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

octek0815

Zitat von: Reinhart am 08 Februar 2017, 21:08:17
ja genau, das ist die Einstellung!

warum du mit der neuen Version nichts bekommen hast ist mir noch unklar. Hast du tatsächlich in der Konfiguration den Typ "6 Sonoff Pow" ausgewählt und gespeichert?

Bei Tasmota muss im Gegensatz zu MQTT Version das Modell im Webif eingestellt werden.

LG

nee das hab natürlich nicht, war mir nicht bewusst. Teste Morgen nochmal und gebe Feedback.

Grüße
Olli

Reinhart

ok, das machst du unter dem Menüpunkt "Configure Module", aber nicht vergessen "save" zu drücken!

Aber wenn bei dir alles läuft, dann gibt es auch keinen Grund Tasmota zu verwenden, denn beim POW gibt es per Webif sonst eh nix zu konfigurieren als das du eh schon hast.

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

octek0815

Zitat von: Reinhart am 09 Februar 2017, 08:29:54
ok, das machst du unter dem Menüpunkt "Configure Module", aber nicht vergessen "save" zu drücken!

Aber wenn bei dir alles läuft, dann gibt es auch keinen Grund Tasmota zu verwenden, denn beim POW gibt es per Webif sonst eh nix zu konfigurieren als das du eh schon hast.

LG

Nee, werde ich auch nicht machen, es funktioniert ja alles was ich brauche.
Hast Du ne Idee wie ich Monats und Jahreswerte aufzeichnen kann?
Das Statistics Modul wird wohl eher nicht hiermit funktionieren oder?

VG

Reinhart

#131
ich mache die Statistik einfach mit average!

define Sonoff_Pow_CURRENT_POWER average Sonoff_Pow:CURRENT_POWER.*
dieser Define und schon werden die Statistiken im POW Define als Reading angelegt. "Sonoff_Pow" ist der Name des Define, musst auf deinen anpassen.

Jahreswert habe ich aber nicht.

LG

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

dev0

#132
Zitat von: Reinhart am 08 Februar 2017, 19:26:02
@dev0
Danke für dein Angebot, natürlich wäre das eine tolle Sache ein Tool zu haben welches Readings aus dem Pseudo JSON String extrahieren und befüllen könnte. Ich bin zwar nicht unbedingt der Freund von vielen notifys, das dürfte aber der einfachste Weg sein nach eintreffen neuer Daten darauf zu reagieren.

Man braucht nicht mehrere Notifies, sondern nur eins, wenn man die regexp für device:reading entsprechend setzt.
Zufinden ist es hier: https://github.com/ddtlabs/FHEM-Snippets/tree/master/j2r
Fragen/Bugs dazu bitte in diesen Thread: https://forum.fhem.de/index.php?topic=66761


SamNitro

Gibt es hier eigentlich auch eine Funktion "on-for-timer"?

LG
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Reinhart

gibt es leider nicht, aber du kannst diese Funktion ganz leicht nachbauen.

1. du definierst die Pulsetime ( pulsetime 112 = 12 Sekunden)

PulseTime       | 1..111  | Set PulseTime with 0.1 seconds increment
PulseTime       | 112..64900 | Set PulseTime with 1 seconds increment starting with 12 seconds


Wird der Device eingeschalten, dann schaltet er sich automatisch nach 12 Sekunden wieder ab. Dieses Feature verwenden wir bei unseren Wall Switches mit Bewegungsmelder. Achtung: beim 4CH geht das nur auf Kanal1, deshalb habe ich auch die zweite Variante eingebaut weil ich 4 Taster auf einem 4CH benötige.

2. du überwachst den Power Status mit einem notify
define Channel1 notify Sonoff:Power.*(on|ON) define Timerch1 at +00:00:10 "wget -q -O - 'http://10.0.0.113/?o=1'"

Hier wird mit einem Notify der Einschaltstatus überwacht und wenn ein "on" eintrifft (egal von welcher Seite) dann wird nach der eingestellten Zeit (hier 10 Sekunden) mit einem HTTP Request direkt der Kanal1 wieder ausgeschaltet (toggle). Die Zahl nach dem "o=" ist der zu schaltende Kanal, meist 1 aber beim 4CH wir die hochgezählt. Die IP-Adresse musst natürlich auf deinen Sonoff anpassen.

Das oben geschriebene gilt nur für den Arends Sketch (egal ob MQTT oder Tasmota), nicht für ESPEasy!

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