[HowTo] Sonoff POW an Fhem anbinden

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

Vorheriges Thema - Nächstes Thema

pink99panther

Automatik hat anscheinen nicht richtig funktioniert.
Gibt es jetzt wenigstens das Reading ENERGY und ist gefüllt?

Schau Dir das EDIT in meinem vorherigen Beitrag mal an.

Kannst ja mal versuchen, mit für Dich geänderten subscribes, ein neues Device anzulegen.

pink99panther

Noch eine Info:
expandJSON sieht bei mir so aus:

define ej_Sop1energy expandJSON Sonoff_Pow1:ENERGY:.{.*}
define ej_Sop1state expandJSON Sonoff_Pow1:STATE:.{.*}

bloodybeginner

Was für eine tasmota Version setzt ihr ein? Vielleicht ist meine 5.11 aus dem development branch nicht zu fhem kompatibel

Gesendet von meinem SM-G930F mit Tapatalk


pink99panther

Ich hab die 5.8.0e drauf.
Kann mir nicht vorstellen, dass sich da soviel geändert hat, dass das nicht mehr funzt.

pink99panther

Hab mal die 5.11.1b geflasht.

Es wurde tatsächlich
tele/sonoff_pow/ENERGY -> tele/sonoff_pow/SENSOR
geändert. :-[

Ich hab jetzt

attr Sonoff_Pow subscribeReading_ENERGY tele/sonoff_pow/ENERGY
auf
attr Sonoff_Pow subscribeReading_ENERGY tele/sonoff_pow/SENSOR
geändert und den Rest gelassen.

bloodybeginner

so - ich habe es jetzt auch hinbekommen.
Zusammengefasst für die 5.11:

Internals:
   DEF        Sonoff.*:.*:.{.*}
   NAME       ej3
   NOTIFYDEV  Sonoff.*
   NR         746
   NTFY_ORDER 50-ej3
   STATE      2018-01-16 11:31:22
   TYPE       expandJSON
   s_regexp   Sonoff.*:.*:.{.*}
   t_regexp   .*
   version    1.10
   READINGS:
     2018-01-16 11:07:58   state           active
   helper:


defmod Sonoff_Pow MQTT_DEVICE
attr Sonoff_Pow IODev myBroker
attr Sonoff_Pow alias POW_Fernseher
attr Sonoff_Pow eventMap ON:on OFF:off
attr Sonoff_Pow genericDeviceType switch
attr Sonoff_Pow icon measure_power
attr Sonoff_Pow publishSet on off cmnd/Sonoff_Pow/power
attr Sonoff_Pow room MQTT
attr Sonoff_Pow stateFormat {sprintf("aktuell: %.1f W Tag: %.2f Kw/h", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef))}
attr Sonoff_Pow subscribeReading_ENERGY tele/Sonoff_Pow/SENSOR
attr Sonoff_Pow subscribeReading_POWER stat/Sonoff_Pow/POWER
attr Sonoff_Pow subscribeReading_RESULT stat/Sonoff_Pow/RESULT
attr Sonoff_Pow subscribeReading_STATE tele/Sonoff_Pow/SENSOR
attr Sonoff_Pow subscribeReading_UPTIME tele/Sonoff_Pow/UPTIME
attr Sonoff_Pow webCmd on:off


ergibt dann:
    IODev      myBroker
   NAME       Sonoff_Pow
   STATE      aktuell: 63.5 W Tag: 0.13 Kw/h
   TYPE       MQTT_DEVICE
   READINGS:
     2018-01-16 11:13:22   ENERGY          {"Time":"1970.01.01 00:31:54","ENERGY":{"Total":0.12186,"Yesterday":0.00000,"Today":0.12187,"Period":0.9,"Power":58.6,"Factor":0.82,"Voltage":221,"Current":0.321}}
     2018-01-16 11:32:52   ENERGY_Current  0.276
     2018-01-16 11:32:52   ENERGY_Factor   1
     2018-01-16 11:32:52   ENERGY_Period   1.6
     2018-01-16 11:32:52   ENERGY_Power    63.5
     2018-01-16 11:32:52   ENERGY_Today    0.1319
     2018-01-16 11:32:52   ENERGY_Total    0.1319
     2018-01-16 11:32:52   ENERGY_Voltage  221
     2018-01-16 11:32:52   ENERGY_Yesterday 0
     2018-01-16 11:32:52   POWER           on
     2018-01-16 11:28:30   RESULT          {"POWER":"ON"}
     2018-01-16 11:32:52   STATE           {"Time":"1970.01.01 00:51:24","ENERGY":{"Total":0.13190,"Yesterday":0.00000,"Today":0.13190,"Period":1.6,"Power":63.5,"Factor":1.00,"Voltage":221,"Current":0.276}}
     2018-01-16 11:32:52   Time            1970.01.01 00:51:24
     2018-01-16 11:32:52   Uptime          1
     2018-01-16 11:32:52   Vcc             3.406
     2018-01-16 11:32:52   Wifi_AP         1
     2018-01-16 11:32:52   Wifi_APMac      D0:17:C2:65:29:F4
     2018-01-16 11:32:52   Wifi_RSSI       88
     2018-01-16 11:32:52   Wifi_SSId       xxxxxxx
     2018-01-16 11:28:30   state           ON
     2018-01-16 11:32:52   transmission-state incoming publish received

bloodybeginner

eine quizfrage habe ich noch:

funktinieren bei euch die PowerHigh/PowerLow Kommandos?

00:02:29 CMD: cmd/Sonoff_Pow/PowerLow
00:02:29 RSL: empfangenes topic /PowerLow, Datengröße 0, Daten
00:02:29 RSL: Gruppe 0, Index 1, Befehl POWERLOW, Daten
00:02:29 MQT: stat/Sonoff_Pow/RESULT = {"Command":"Unknown"}
00:02:40 CMD: cmd/Sonoff_Pow/PowerLow 20
00:02:40 RSL: empfangenes topic /PowerLow, Datengröße 2, Daten 20
00:02:40 RSL: Gruppe 0, Index 1, Befehl POWERLOW, Daten 20
00:02:40 MQT: stat/Sonoff_Pow/RESULT = {"Command":"Unknown"}

oder habe ich da eine falsche Syntas auf der Tasmota Konsole?

pink99panther

Funktioniert bei mir
14:31:13 CMD: PowerLow off
14:31:13 MQT: stat/sonoffpow1/RESULT = {"PowerLow":0}

Snobs

Bei mir geht das Leider nicht, der POW läuft und ich kann ihn auch schalten. Aber Werte bekomme ich irgendwie nicht.
Kann da mal bitte jemand drüber schauen.

Zitatdefine Sonoff_Pow MQTT_DEVICE
attr Sonoff_Pow IODev Mosquitto
attr Sonoff_Pow alias 3D_Drucker
attr Sonoff_Pow eventMap ON:on OFF:off
attr Sonoff_Pow icon measure_power
attr Sonoff_Pow publishSet on off cmnd/3d_printer/power
attr Sonoff_Pow room 00.Büro,Sonoff
attr Sonoff_Pow stateFormat { sprintf ("aktuell: %.1f W Tag: %.2f Kw/h", ReadingsVal($name,"ENERGY_Power",undef), ReadingsVal($name,"ENERGY_Today",undef)) }
attr Sonoff_Pow subscribeReading_ENERGY tele/3d_printer/SENSOR
attr Sonoff_Pow subscribeReading_POWER stat/3d_printer/POWER
attr Sonoff_Pow subscribeReading_RESULT stat/3d_printer/RESULT
attr Sonoff_Pow subscribeReading_STATE tele/3d_printer/SENSOR
attr Sonoff_Pow subscribeReading_UPTIME tele/3d_printer/UPTIME
attr Sonoff_Pow webCmd on:off

define ej3 expandJSON Sonoff.*:ENERGY.*:.{.*} (Power|Yesterday|Today)
attr ej3 room Sonoff

Abgesehen davon bekomme ich zusätzlich zu dem auch:
ZitatPERL WARNING: Use of uninitialized value in sprintf at (eval 171) line 1.

Ich hab das jetzt nur mal kopiert um Fehler zu vermeiden, aber irgendwie will es nicht.
Mein MQTT sieht so aus
Zitattele/3d_printer/SENSOR {"Time":"2018-03-04T17:13:43","ENERGY":{"Total":0.656,"Yesterday":0.003,"Today":0.653,"Period":7,"Power":89,"Factor":0.78,"Voltage":221,"Current":0.517}}

Für Hilfe wäre ich dankbar.

VG
Sascha

Reinhart

wenn ein Filter nicht so will wie du, dann fange doch systematisch an.

define ej3 expandJSON (Sonoff.*:.*:.{.*.*{.*.*}})
filtert nur nach DeviceName Sonoff

Wenn das läuft, dann setze die nächste Gruppe (beim nächsten .*)  dazu, so merkst du schnell wo der Fehler steckt.

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

speed

Hallo ,
ich habe jetzt den kompletten Thread gelesen.
Die Frage die sich mir jetzt stellt, funktioniert das Beispiel der Readinggroup aus der Wiki mit Tasmota 12 noch ?
Ich habe es natürlich ausprobiert und bekomme für meine Pows keine Werte in der Readinggroup.
Den legacy Modus gibt es ja wohl nicht mehr ? :-\
Danke
speed

SirusX

Hi zusammen,


ich bin nun schon etwas länger hier am lesen, und habe auch schon einen Fhem,MQTT,Homebridge Raspberry PI 2 am laufen, als Homebridge Hub nutze ich das iPad was ich neu von Yello bekommen habe. Nun habe ich erst einmal angefangen Schalter und Lichtschalter zu tauschen, fehlen noch ein paar vor allem der Flur dort soll ein T1+ 2x T433 zum Einsatz kommen. Und danach dann die Heizungsthermostate mit Sonoff ist es nun echt erschwinglich.

Nun zu meiner eigentlichen frage hehe .... Ich habe am PC vor der Verteilerdose einen Sonoff Pow geklemmt es läuft auch soweit alles wie es soll nur bekomme ich die Stromdaten nicht in Fhem ich denke weil ich expandJSON nicht habe es kommt immer Fehler JSON nicht gefunden. Wie kann ich das am Raspberry Pi nach installieren bevor ich hier wieder 2 Tage sitzte und suche dachte ich mir ich melde mich mal Fixxxx hier an.^^

Hoffe mir kann da jemand helfen.....

LG Mark

JoWiemann

sudo apt-get install libjson-perl

Und diese Frage wurde schon tausend mal im Forum bzw. Fhem Wiki beantwortet.


Gesendet von iPhone mit Tapatalk

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

SirusX

Das kann durch aus möglich sein, aber da ich durchaus neu auf dem Gebiet bin dieses sehr Komplex ist ich seit Tagen dran sitzte alles einzurichten. Na dann sieht man schon mal den Wald vor lauter Bäumen nicht mehr. Und die lieb gefragte frage die dich nun 1 min deines Lebens gekostet hat hättest du auch ein wenig netter Formulieren können aber nichts desto trotz läuft es nicht.

define ej3 expandJSON SZ_Computer.*:ENERGY.*:.{.*} (Power|Yesterday|Today)

gibt folgendes aus:

Unknown module expandJSON

das Packet habe ich aber schon installiert !?

pi@raspberrypi:~ $ sudo apt-get install libjson-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
libjson-perl ist schon die neueste Version (2.90-1).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.


Soweit war ich nämlich vor meiner frage schon, hoffe du bist gewillt mir zu helfen.

LG Mark

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann