Einbindung der kostengünstigen Funkschaltsteckdose PCA 301 mit Energiemessung

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

Vorheriges Thema - Nächstes Thema

justme1968

danke. eine ausrede weniger :)

aber ich fürchte ich komme trozdem nicht dazu.

ist das individuelle intervall wirklich so wichtig?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

KölnSolar

Bei meinem Vorhaben geht es weniger um das individuelle Intervall, sondern dass das nicht in die culfw gehört(meine Meinung). Ohne polling senden die Dosen aber nie(außer bei manueller Betätigung der Dose den Schaltbefehl).  :'(

Zitataber ich fürchte ich komme trozdem nicht dazu.
Ist doch OK. Ich machs dann ggfs., da ich ja auch aktueller in der Materie und dem Modul drin bin.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

justme1968

doch. ich finde das gehört in dir firmware :). deshalb ist es ja auch im jeelink sketch.

dar sketch muss sich auch darum kümmern das die dosen nicht alle gleichzeitig abgefragt werden oder das nicht abgefragt wird wenn eine dose gerade geschaltet wird und die antwort abgeholt wird. die ganzen zeiten dazu werden zufällig verschoben.

das gehör alles nicht auf die fhem ebene.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

KölnSolar

Zitatdoch. ich finde das gehört in dir firmware :). deshalb ist es ja auch im jeelink sketch.
Von einem theoretischen Standpunkt aus mag das stimmen. Wenn ich mir vorhandene device-Modul-Beziehungen angucke aber eher nicht:
- devices ohne Eingriffsmöglichkeit in die firmware;fast alle Kaufdevices(u.a. Stromzähler, AV-Geräte....); Polling macht (in der Regel)das Modul
- CUL/S'duino/RFXTRX vs. Jeelink: 1 Mehrzweck-Transceiver für viiieeele Protokolle(dann wird dann aber der Speicher knapp) vs. Ein-Protokoll -Transceiver(individuell aber teuer; da gehen einem dann die USB-Anschlüsse aus)

Ist dann aber so ziemlich OT. Die Masse der Pros und Cons müssten wir dann im Development Forum austauschen. ;)
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Wernieman

Wobei es eigentlich was "gans tiefes ist" und damit eigentlich auf die unterste Ebene gehört ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Karle

Hallo,

ich bin gerade im Wiki auf die o.g. funksteckdose gestoßen.

Gibt es eine Alternative? Diese scheint nicht mehr lieferbar. Ich bräuchte auch keine Steckdose, sondern nur einen Energiemesser, den ich per Jeelink (wie meine Temperatursensoren) auslesen kann.

Danke für eure Rückmeldung.

Gruß

Karl

connormcl

Für den JeeLink (v1/classic) gibt es die EC3000 Energiemesser.

Beachte bei den Sachen, die über JeeLink angeschlossen werden aber, dass der JeeLink nur einen Sketch laden kann und somit nur ein Funkprotokoll spricht.

Für die zusätzliche Anbindung von EC3000 oder PCA usw. benötigst du demzufolge einen zweiten JeeLink und das in der alten Version, da die Sketche wohl bisher nicht auf die v2 portiert sind.

jnewton957

Hallo,

ich möchte nun meine PCA wieder zum Laufen bekommen, da ich doch mit denen immer mal wieder Probleme mit der Funkverbindung hatte.

Also habe ich jetzt einen original Jeelink besorgt und es kommen auch wieder reading rein.

Könnte bitte jemand mal seine funktionierende  cfg und 99.myutils posten. Ich würde das dann gerne für mich und meinen 5 PCA301 anpassen.

Danke und frohes/gesundes 2020

Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

justme1968

was willst du denn mit fremder config und anderen files?

du legst einfach das jeelink device an, alles andere geht per autocreate.

falls du die config von hand editierst: hör auf damit das ist nicht nötig. ganz im gegenteil.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

jnewton957

Zitat von: justme1968 am 01 Januar 2020, 18:16:16
was willst du denn mit fremder config und anderen files?

du legst einfach das jeelink device an, alles andere geht per autocreate.

falls du die config von hand editierst: hör auf damit das ist nicht nötig. ganz im gegenteil.
Es geht mir um die dummes oder Berechnungen des aktuellen Verbrauches, Tages- Monats- Jahres... statistik.
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

justme1968

man braucht keine dummys.

der aktuelle verbrauch steht in den readings der devices, wenn man tages, monats und jahres werte möchte legt man ein average oder statistics device an.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

jnewton957

Zitat von: justme1968 am 01 Januar 2020, 19:26:13
man braucht keine dummys.

der aktuelle verbrauch steht in den readings der devices, wenn man tages, monats und jahres werte möchte legt man ein average oder statistics device an.

Das habe ich (sonst hätte ich auch nicht nachgefragt.

Aber auf welches reading? Ich habe es auf counter und erhalte als Ergebnis nachfolgend unsinnige Werte :
statCount Hour: 40 Day: 1477 Month: 1616 Year: 1616

2020-01-06 20:14:38 statCountLast Hour: 162 Day: -2927 Month: -75 Year: 319 (since: 2019-06-17 )

2020-01-06 19:59:55 statPowerDay Min: 18.43 Avg: 72.25 Max: 168.60

2020-01-06 20:05:16 statPowerDayLast Min: 3.03 Avg: 58.08 Max: 1798.22

2020-01-05 23:59:56 statPowerMonth Min: 3.03 Avg: 50.06 Max: 1798.22

2020-01-06 20:05:16 statPowerMonthLast Min: 31.36 Avg: 144.12 Max: 297.64

2019-12-31 23:59:56 statPowerYear Min: 3.03 Avg: 50.06 Max: 1798.22

2020-01-06 20:05:16 statPowerYearLast Min: 0.00 Avg: 122.43 Max: 10598.83 (since: 2019-06-16_11:08:01 )

2019-12-31 23:59:56


Letztlich habe ich eben zwar mit power_cum_day einen Tageswert - aber mal schöne Monats- oder Jahreswerte, Durchschnitt etc aber nicht.
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

jnewton957

Ich habe mich gestern und heute mal wieder stundenlang mit meinen PCA301 beschäftigt, da nahezu alle consumption Werte 1. falsch waren und somit auch 2. Daily oder 3. statistics völlig daneben waren.

Also alle devices gelöscht und neu eingebunden. Dann habe ich es mit einem anderen Stromzähler vergleichen und nun passen power und consumtion.

Aus einem alten post aus 2014  Antwort #733 vom 06 Mai 2014 habe ich

sub PCA301_DailyStats() {
  my $DbLogDev;

  #suche ein DbLogDevice
  return undef unless($modules{"DbLog"} && $modules{"DbLog"}{"LOADED"});

  foreach my $key (keys(%defs)) {
    if($defs{$key}{TYPE} eq "DbLog") {
      $DbLogDev = $key;
      last;
    }
  }

  return undef if($defs{$DbLogDev}{STATE} !~ m/(active|connected)/); # muss active sein!

  #TagesRange des Vortages ermitteln
  my @day = localtime(time - 86400);
  $day[5]+=1900; # Year
  $day[4] = sprintf("%02d", $day[4]+=1); # Month
  $day[3] = sprintf("%02d", $day[3]); # Day
  my $daybegin = ($day[5]) ."-". ($day[4]) ."-". $day[3] ." ". '00:00:00';
  my $dayend   = ($day[5]) ."-". ($day[4]) ."-". $day[3] ." ". '23:59:59';

  #my $pca301_dev = 'SW_KC_Freezer';

  foreach my $pca301_dev (keys(%defs)) {
  next if($defs{$pca301_dev}{TYPE} ne "PCA301");

my $sql = " select
max(to_number(value,'999.999')) - min(to_number(value,'999.999')) as kw
from history
where device = '$pca301_dev'
and reading = 'consumption'
and timestamp >= TO_TIMESTAMP('$daybegin','YYYY-MM-DD HH24:MI:SS')
and timestamp <= TO_TIMESTAMP('$dayend','YYYY-MM-DD HH24:MI:SS')";

DbLog_Set($defs{$DbLogDev}, 'set', 'userCommand', $sql);
my $ret = ReadingsVal($DbLogDev, 'userCommandResult', '');
readingsSingleUpdate($defs{$pca301_dev}, "DailyConsumtion", $ret ,1) if($ret);
  }

return undef;
}


eingebunden und auch Timer_PCA301_DailyStats definiert. Der läuft auch aber es wird kein DailyConsumtion in die PCA301 geschrieben.

Was muss ich im coding anpassen ?

Meine PCA heissen PCA301_x (X=1 bis 6)
Mein Datenbank heisst  DbLog und liegt bei /opt/fhem

Danke für die Hilfe
Grüße
Jörg

FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

pc1246

Moin Joerg
Mir ist irgendwie im Hinterkopf, dass das reading erst nach einer gewissen Zeit auftaucht. Mindestens nach einem Tag, wenn nicht sogar laenger!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

pc1246

Moin
Wie per PN angedroht, habe ich mal nachgesehen.
Consumption und consumption_total gibt es ja nur standard maessig vom Modul.
Der zweite ist ein automatisch generiertes user_reading. Von diesem sprach ich eigentlich die ganze Zeit.
Jetzt habe ich aber festgestellt, das dies irgendwie gar nicht mehr aktualisiert wird. Und auch die Zeiten zu denen das letzte mal aktualisiert wurde sind total unterschiedlich!
Von daher war mein Beitrag eher nicht hilfreich.
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly