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

update aktualisiert auch den firmware ordner.

die dose sendet von sich aus nur wenn lokal geschaltet wird. die display unit und der jeelink pollen die dose und das jeweils andere system bekommt die antwort mit.

wieviele dosen hast du? die 30 sekunden in der standard einstellung beziehen sich auf alle dosen. d.h. wenn du 6 dosen hast ist alle 5 sekunden wieder eine dran.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

druxx

Sorry, ich habe gerade gesehen, dass diese Diskussion hier schon mal geführt wurde, nichtdestotrotz:
sollte das unten der aktuelle Code sein, dann wird jedes device mit einem Zeit-Abstand abgefragt wird, das zufallsverteilt zwischen 1Sekunde und 4Sekunden liegen kann, oder? Müsste es nicht millis() /1000 sein, um auf Sekunden zu kommen? Und IMHO hängt das Auslese-Intervall nicht von der Anzahl der verbundenen Dosen ab.



//- pcaTask ----------------------------------------------------------------------------------------
void pcaTask() {
  for (int i = 0; i < pcaConf.numDev; i++) {
    if (millis() / 100 > pcaConf.pcaDev[i].nextTX) {
      if (pcaConf.pcaDev[i].retries <= 255)
        pcaConf.pcaDev[i].retries += 1;
      if (pcaConf.pcaDev[i].retries < PCA_MAXRETRIES)
        pcaConf.pcaDev[i].nextTX = millis() / 100 + random(0,30) + 10;
      else
        pcaConf.pcaDev[i].nextTX = millis() / 100 + random(0,30) + pcaConf.deadIntv;
      sendDevice(i+1,'p');
      cmd = 'p';
      return;
    }
  }
}

justme1968

der sketch arbeitet intern bei allen zeiten mit 1/10tel sekunden. deshalb die 300 und die /100.

die zeit hängt nicht direkt mit der anzahl der verwendeten dosen zusammen sondern indirekt. wenn du eine dose hast die alle 30 sekunden abgefragt wird ist das intervall im durchschnitt deutlich länger als wenn du du 10 dosen hast.

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

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

druxx


Sorry, sorry, mea culpa: RFTM, und wenn man schon Code postet, sollte man das gesamte Programm verstanden haben ...

Hier meine Zusammenfassung:

- wer jemals das Problem von zu kurzen Auslese-Intervallen hatte, muss auch nach Flashen eines aktuellen Sketches das Eeprom im jeelink zurücksetzen, sonst wird mit den alten Intervallen weitergearbeitet. Steht auch in der Wiki, sorry again

- nachdem ich das getan habe, wird jetzt jede Dose im Intervall 31.5 +- 1.5 Sekunden ausgelesen
- mit 6 Dosen bleibt es für jede einzelne Dose bei diesem Intervall, im Mittel sendet der jeelink dann bei mir alle 5 Sekunden einen Request an jeweils eine andere Dose

PS: ELV kann tatsächlich liefern. Die neuen Dosen sind gestern angekommen und funktionieren bisher ohne Auffälligkeiten


mcbo

Hi,

habe jetzt auch eine PCA 301.
Die funktioniert ganz gut.

Nur bekomme ich den das "power" Reading in Milliwatt angezeigt.
In Euren Beiträgen sind aber immer "Watt" - Werte.

Wo kann ich das umstellen?


Gruß

Marcel

mcbo

Hi,

so ich habe das Problem noch etwas lokalisieren können.

Ich habe 2 Stück PCA301 vor ca. 4 Wochen, von ELV erhalten.

Die eine zeigt, beim gleichen Verbraucher, den Wert in 1000er Stellen (MilliWatt)
und die andere in Watt.

Ist die eine defekt, oder kann man das einstellen?


Gruß

Marcel

Chres

Hallo

Bei mir werden immer 6 Steckdosen angelegt, obwohl momentan nur 2 eingesteckt sind.
Das Hauptproblem jedoch ist, die Steckdosen lassen sich nicht mehr in FHEM schalten.
Wenn ich an der Steckdose direkt manuell ein- und ausschalte wird jedoch der richtige Status in FHEM angezeigt.

Habe schon folgendes versucht:
set myJeeLink raw 0c
set myJeeLink raw 2c
Dann alle Steckdosen und Logfiles mit delete gelöscht, autocreate wieder eingeschaltet und sofort sind wieder alle 6 Steckdosen da.



Clients  :PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF:Level:EMT7110
DEF   /dev/ttyUSB0@57600
DeviceName  /dev/ttyUSB0@57600
FD  21
JLK_PCA_MSGCNT  587
JLK_PCA_TIME  2014-11-23 12:15:40
NAME  JLK_PCA
NR  87
NR_CMD_LAST_H  4
PARTIAL
RAWMSG  OK 9 7 1 5 19 29
STATE  Initialized
TYPE  JeeLink
model  [LaCrosseITPlusReader.10.1c @17.241 kbps]


DEF 07F8FC 02
IODev  JLK_PCA
JLK_TMP_MSGCNT  31
JLK_TMP_RAWMSG  OK 24 2 4 7 248 252 1 0 201 0 1
JLK_TMP_TIME  2014-11-23 12:20:17
LASTInputDev  JLK_TMP
MSGCNT  31
NAME  PCA301_07F8FC
NR  93
PCA301_lastRcv  2014-11-23 12:20:17
PCA301_lastSend  2014-11-23 12:13:35
STATE  on
TYPE  PCA301
addr  07F8FC
channel  02

kh1601

Hi,
ich komme hier einfach nicht weiter. Vielleicht hat einer von Euch eine Idee. Aus / Einschalten des PCA301 funktioniert über Fhem und auch direkt an der Dose ohne Probleme.
Die Readings werden aber leider nicht upgedated wenn der State off ist. Ist das normal? Ich vermute mal das es so gewollt ist da es ja Sinn macht den State nicht zu ändern wenn die Dose ausgeschaltet ist.
Wenn dem so ist wie krieg ich einen "vernünftigen" Plot hin bei dem ich den Verbrauch (=power) richtig darstellen kann ohne das ich die komischen Diagonalen Linien habe. Die enstehen ja dadurch das die Werte von Power nur im Log reingschrieben werden wenn die Dose eingeschaltet ist.

Hab auch noch einen Screencapture rangehängt damit man besser sieht wo das Problem ist.

Hier ein Auszug aus dem Log...

2014-11-21_00:17:13 PCA301_01A1CE off
2014-11-21_00:28:58 PCA301_01A1CE off
2014-11-21_00:28:59 PCA301_01A1CE power: 43.2
2014-11-21_00:28:59 PCA301_01A1CE on
2014-11-21_00:29:29 PCA301_01A1CE power: 23
2014-11-21_00:30:01 PCA301_01A1CE power: 23.2
2014-11-21_00:30:34 PCA301_01A1CE power: 23.3
2014-11-21_00:31:38 PCA301_01A1CE power: 23.5
2014-11-21_00:32:10 PCA301_01A1CE power: 23.6
2014-11-21_00:32:42 PCA301_01A1CE power: 23.3
2014-11-21_00:33:13 PCA301_01A1CE power: 23.5
2014-11-21_00:33:22 PCA301_01A1CE set-off
2014-11-21_00:33:22 PCA301_01A1CE off
2014-11-21_00:33:22 PCA301_01A1CE power: 0                                          -------> damit hab ich das Problem in den 9 Stunden wird einfach kein Power Wert gelogged.
2014-11-21_09:49:09 PCA301_01A1CE set-on                                              -------> damit hab ich das Problem in den 9 Stunden wird einfach kein Power Wert gelogged.
2014-11-21_09:49:09 PCA301_01A1CE on
2014-11-21_09:49:09 PCA301_01A1CE power: 48.5
2014-11-21_09:49:42 PCA301_01A1CE power: 21.8
2014-11-21_09:50:45 PCA301_01A1CE power: 21.5
2014-11-21_09:51:18 PCA301_01A1CE power: 21.8

...

Hier auch noch die Definitionen aus der fhem.cfg
define PCA301_01A1CE PCA301 01A1CE 04
attr PCA301_01A1CE IODev myJeeLink2
attr PCA301_01A1CE devStateIcon on:on:toggle off:off:toggle set.*:light_exclamation:off
attr PCA301_01A1CE room PCA301
attr PCA301_01A1CE userReadings consumptionTotal:consumption monotonic {ReadingsVal($name,'consumption',0)}
attr PCA301_01A1CE webCmd on:off:toggle:statusRequest
define FileLog_PCA301_01A1CE FileLog ./log/PCA301_01A1CE-%Y.log PCA301_01A1CE
attr FileLog_PCA301_01A1CE logtype text
attr FileLog_PCA301_01A1CE room PCA301


und hier auch noch der Output für den Plot

# Created by FHEM/98_SVG.pm, 2014-11-23 22:06:44
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "1"
set y2label "2"

#FileLog 4:PCA301_01A1CE.power\x3a:4:

plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 1 with lines

Ich such jetzt schon seit einigen Tagen nach einer Lösung und bin für jede Hilfe dankbar.

mcbo

Hast Du einen JeeLink - Nachbau ?

Wenn ja, dann mußt Du die Center-Frequenz des JeeLink anpassen.

Das Problem hatte ich bei meinem Eigenbau JeeLink auch.

Siehe "Frequenzanpassung über modifizierten Sketch"
http://www.fhemwiki.de/wiki/JeeLink


Gruß

Marcel

justme1968

ja die werte werden nur aktualisiert wenn die dose eingeschaltet ist. die schrägen Linien bekommst du weg wenn du den linientyp steps verwendest. der ist genau dafür da.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

kh1601

Andre,
DANKE !!!!! Echt genial wie schnell das hier geht. Hat nat. sofort funktioniert und ich hab wieder was dazugelernt  :)

Gruß Karl

Chres

Hallo

Kann mir jemand einen Tip zu obigem Post #816 geben? Komme nicht weiter.
Meine PCA's lassen sich nicht schalten und nicht löschen.
Die Verbindung scheint i.O. zu sein, denn ich sehe den Verbrauch und den Schaltzustand.

Habe inzwischen meinen Server von Windows auf Linux umgestellt und habe immer noch das selbe Problem.

Vielen Dank
Chres

justme1968

hast du set myJeeLink raw 0c
set myJeeLink raw 2c


wörtlich so verwendet oder den namen deines jeelink devices verwendet?

stimmt das iodev bei deinen pca devices?

was steht im log wenn du alles auf verbose 5 setzt und versuchst zu schalten?

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

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

Chres

Hallo Andre

Vielen Dank für Deine schnelle Antwort.

Habe statt myJeeLink JLK_PCA verwendet.
Das IODev stimmt.

Im Log steht: Unknown Device 10, please define it
Da scheint was mit dem Kanal nicht zu stimmen, wenn ich den Kanal in der fhem.cfg auf 10 ändere ist er nach dem speichern wieder auf 02.

Wie kann ich den Kanal ändern, dass er bleibt?

Grüsse Chres

justme1968

bitte setz noch mal die beiden raw befehle ab. und lösche danach alle PCA301 devices.

die kanäle sind fhem eigentlich ganz egal. die werden nur für die display einheit gebraucht. hast du so eine um einsatz?

die kanäle die du in fhem siehst sind die die der jeelink meldet und werden in fhem automatisch angepasst wenn sie sich ändern.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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