Einbindung der kostengünstigen Funkschaltsteckdose PCA 301 mit Energiemessung

Begonnen von Emil, 13 März 2013, 11:22:35

Vorheriges Thema - Nächstes Thema

ph1959de

Schau mal hier: PCA301 - (Gesamt-)Verbrauch bei geringer Leistungsaufnahme immer 0 ... vielleicht kommst Du ja (früher als ich) dazu, den Lösungsansatz/Workaround auszuprobieren.

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

pc1246

Hallo ph1959de
Er hat aber knapp 110Watt, das ist leicht ueber dem Problem!
Gruss Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

ph1959de

Zitat von: pc1246 am 27 April 2016, 13:27:57
Er hat aber knapp 110Watt, das ist leicht ueber dem Problem!
Oh ... ich hatte mich wohl von dem
Zitatselbst bei Werten um 2W.
irreführen lassen.

Aber, wie Du schon gesagt hast, ich meine mich zu erinnern, dass (auch bei höheren Verbrauchswerten) das consumption reading erst nach einiger Zeit "auftaucht".

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

wing350

Zitat von: pc1246 am 27 April 2016, 12:30:53
Hallo wing350
Ich glaube die readings kommen erst spaeter, kann aber heute abend mal nachsehen. Es muss glaube ich ein Wechsel erfolgen, weiss aber nicht mehr wovon!
Gruss Christoph

Hi Christoph,
Jepp!! Plötzlich ist 'consumption' da, nachdem ich ein 'event-on-change'-Attribut für 'power' gesetzt habe.
Danke für den Hinweis!
Reimer
FHEM auf Ubuntu VM/QNAP, FHEM-Native, CUL868, RFTRX433 und Jeelink auf RPi über ser2net an VM angebunden, PCA301/LaCrosse-Gateway (WLAN), FHTs, FS20-Aktoren, FBDECT, div. HM- und HMIP-Komponenten, Raspberrymatic VM auf QNAP, Signalduino für Somfy, optolink-WLAN für Viessmann, div. Shelly

justme1968

das consumption reading wird dann erzeugt wenn die steckdose einen wert > 0 meldet.

das hat nichts mit irgendwelchen attributen oder ähnlichem zu tun.

wenn du event-on-change nur für power gesetzt hast wirst du nur noch updates für power bekommen und für kein anderes reading.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Andy89

Servus,
ich hab mal ne Frage zu den EC3000's. Ich habe mir Userreadings mit monotonic angelegt. Bei den PCA301's funktionieren diese ohne Probleme. Bei den EC3000's haben diese auch mal funktioniert. Irgendwann hat dies aber auf einmal aufgehört.
Hat jemand eine kleine Idee?

Hier das List auf ein EC3000-Device:
Internals:
   DEF        ####
   EC3000_lastRcv 2016-04-27 21:14:45
   IODev      myJeeLink
   LASTInputDev myJeeLink
   MSGCNT     1721
   NAME       EC3000_Aquarium
   NR         1198
   STATE      Jetzt 58.9 W, Max 169.5 W, Verbrauch 0 kwh
   TYPE       EC3000
   addr       ####
   myJeeLink_MSGCNT 1721
   myJeeLink_RAWMSG OK 22 124 228 0 30 169 92 0 30 169 92 0 0 129 181 2 77 6 159 1 0
   myJeeLink_TIME 2016-04-27 21:14:45
   reception  0
   resets     1
   secondsOn  2009436
   secondsTotal 2009436
   Helper:
     Dblog:
       Consumption:
         Logdb:
           TIME       1461784485.14667
           VALUE      33.205
       Consumptionmontheuro:
         Logdb:
           TIME       1461784485.14667
           VALUE      4.36
       Consumptiontodayeuro:
         Logdb:
           TIME       1461784485.14667
           VALUE      0.00
       Consumptiontotaleuro:
         Logdb:
           TIME       1461784485.14667
           VALUE      4.36
       Consumptionweekeuro:
         Logdb:
           TIME       1461784485.14667
           VALUE      0.00
       Consumptionyeareuro:
         Logdb:
           TIME       1461784485.14667
           VALUE      4.36
       Power:
         Logdb:
           TIME       1461784485.14667
           VALUE      58.9
       Powermax:
         Logdb:
           TIME       1461784485.14667
           VALUE      169.5
       Statpowertendency:
         Logdb:
           TIME       1461783595.59819
           VALUE      1h: +3.2 2h: +2.7 3h: -105.4 6h: +1.2
       State:
         Logdb:
           TIME       1461784485.14667
           VALUE      on
   Readings:
     2016-04-27 21:14:45   consumption     33.205
     2016-04-27 00:01:07   consumptionEuroToday 0
     2016-04-25 00:01:17   consumptionLastWeek 0
     2016-04-25 00:01:17   consumptionLastWeekEuro 0.00
     2016-04-16 10:27:24   consumptionMonth 17.533
     2016-04-27 21:14:45   consumptionMonthEuro 4.36
     2016-04-27 00:01:07   consumptionToday 0
     2016-04-27 21:14:45   consumptionTodayEuro 0.00
     2016-04-16 10:27:24   consumptionTotal 17.533
     2016-04-27 21:14:45   consumptionTotalEuro 4.36
     2016-04-25 00:01:18   consumptionWeek 0
     2016-04-27 21:14:45   consumptionWeekEuro 0.00
     2016-04-16 10:27:24   consumptionYear 17.533
     2016-04-27 21:14:45   consumptionYearEuro 4.36
     2016-04-27 00:01:06   consumptionYesterday 0
     2016-04-27 00:01:06   consumptionYesterdayEuro 0.00
     2016-04-27 21:14:45   power           58.9
     2016-04-27 21:14:45   powerMax        169.5
     2016-04-27 20:59:55   statPowerTendency 1h: +3.2 2h: +2.7 3h: -105.4 6h: +1.2
     2016-04-27 21:14:45   state           on
   Helper:
     _98_statistics Statistik
Attributes:
   IODev      myJeeLink
   genericDeviceType outlet
   room       EC3000,myJeeLink,z_Homekit
   stateFormat Jetzt power W, Max powerMax W, Verbrauch consumptionToday kwh
   userReadings consumptionToday:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionTotal:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionWeek:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionMonth:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionYear:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionTodayEuro {euroBerechnen(ReadingsVal($name,"consumptionToday","?"))},
consumptionTotalEuro {euroBerechnen(ReadingsVal($name,"consumptionTotal","?"))},
consumptionWeekEuro {euroBerechnen(ReadingsVal($name,"consumptionWeek","?"))},
consumptionMonthEuro {euroBerechnen(ReadingsVal($name,"consumptionMonth","?"))},
consumptionYearEuro {euroBerechnen(ReadingsVal($name,"consumptionYear","?"))}


Vielen Dank und Beste Grüße
Andy
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

justme1968

du musst ein :.* an den trigger anhängen.

das hat sich vor kurzem geändert.

gruss
   andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Andy89

Zitat von: justme1968 am 27 April 2016, 21:33:25
du musst ein :.* an den trigger anhängen.

das hat sich vor kurzem geändert.

gruss
   andre
Top Danke! Die Änderung hab ich wohl übersehen.

Ps.: Im Wiki müsste das noch nachgezogen werden ;)

beste Grüße
Andy
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Andy89

ich meinte die reference  :-X

ich hab mir die allgemeine Anleitung angeschaut und da nichts gefunden:
<reading>[:<trigger>] [<modifier>] { <perl code> }

Und bin dann direkt zu den modifiern Beispielen "gesprungen" .... In den allgemeinen Beispielen ist das .* drin, aber die habe ich mir nicht angeschaut  ???
also muss nichts nachgezogen  ::) Sorry!
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

cotecmania

Hi,

die userrreadings für Woche, Monat und Jahr für eine PCA301 würden mich auch interessieren :

userReadings consumptionToday:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionTotal:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionWeek:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionMonth:consumption monotonic {ReadingsVal($name,'consumption',0)},
consumptionYear:consumption monotonic {ReadingsVal($name,'consumption',0)}


Aber hiermit wird doch immer das selbe aufaddiert, oder ?

FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Andy89

das, was addiert wird, ist schon richtig. Es wird die Differenz von consumption jetzt zu consumption letzter Stand addiert. Du musst aber die Werte "zurücksetzen".
So muss du den Tageswert täglich zurücksetzen, den Wochenwert Montags und so weiter. Irgendwo hier im langen Thread gabs einen, der das ganze schön in die myUtils gepackt hat und mit nem at in der Nach kurz nach 12 triggert ;) Dort war auch dies mit der Preisberechnung dabei.

Beste Grüße
Andy

edit:
eine Frage hätte ich selber noch zu den Userreadings. Bei den EC3000's erhalte ich eine ewig lange Zahl und wollte dies mit sprintf unterbinden, leider klappt das nicht, was mache ich hierbei falsch?
consumptionToday:consumption:.* monotonic {sprintf("%.2f",ReadingsVal($name,'consumption',0))},
Mit diesem Userreading erhalte ich zB bei consumptionToday als Wert 0.420000000000002
Danke!
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

schmadde

Ich habe kürzlich die Seite im FHEM Wiki gefunden mit Informationen, wie man EC3000 Steckdosen mit FHEM auslesen kann. Habe mir nun einen Jeelink Classic bestellt, bekomme aber den EC3000 Sketch nicht kompiliert.

Ich bin absoluter Newbie was AVR und Arduino betrifft, habe aber mittlerweile zwei Dinge rausgefunden, die bei AVR-GCC 1.6 offenbar neu sind und die der EC3000 Sketch noch nicht umgesetzt hat. Es betrifft offenbar Variablen (oder besser: Konstanten), die im Flash gespeichert werden und das PROGMEM Attribut nutzen:

1. prog_uint8_t ist nun deprecated. Ich konnte das mit einem #define __PROG_TYPES_COMPAT__ umgehen
2. alle Variablen mit dem Attribut "PROGMEM" müssen nun explizit als const deklariert werden. Ergibt Sinn, ist aber beim EC3000 Sketch nicht umgesetzt.

Speziell 2. betrifft sehr viele Variablen und ich weiss nicht, ob noch da nicht noch mehr ist.

Drum meine Frage: gibts eine neuere Version dieses Sketches als das was bei sourceforge unter http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/ verfügbar ist? Hat jemand mit einer halbwegs atkuellen Arduino IDE das Ding kompiliert bekommen?

justme1968

du musst nichts kompilieren. ein aktueller sketch liegt im firmware verzeichniss und du kannst auch direkt aus fhem heraus mit dem flash kommando flashen wenn avrdude installiert ist.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

schmadde

Wo ist denn das Firmware-Verzeichnis und wie spreche ich den Jeelink von FHEM aus an, wenn noch nicht die richtige Firmware geflasht ist? Lt. Wiki flasht man die Firmware aus der Arduino IDE und meine ist halt 1.6.5 (die Sourcen lassen sich offenbar nur mit <1.6 kompilieren).