Hallo,
sendet eine PCA301 Steckdose automatisch die Leistungs/Verbrauchsdaten oder werden diese gepollt?
Wenn Sie gepollt werden - könnte man eine Möglichkeit implementieren, das Polling abzuschalten bzw. das Intervall zu verändern? Der Hintergrund ist der, dass ich ca. 8 PCA301 nur als Schalter benötige und daher das ständige Polling aufgrund von Störungen anderer 868 MHz-Geräte gerne eindämmen würde.
Gruß
Thomas
Antwort einfach:
Die Dosen senden selbständig
die dosen werden vom sketch gepolt. die default zeit sind alle 30 sekunden pro dose. die zeit kannst du in pca301.cpp in pcaConf.pollIntv ändern.
der sketch hat sich leider seit der ersten version nicht mehr wirklich weiter entwickelt. es waren zwar noch diverse features geplant aber dazu ist es nicht mehr gekommen weil oweh keine zeit mehr hatte.
im prinzip könnte man das auch über ein kommando konfigurierbar machen das man dann in initCommands stecken könnte.
hast du denn ganz konkrete probleme? werden diese probleme weniger wenn du den pca jeelink abziehst? ich hatte schon amok laufende jeelinks und pansamps und die haben weder sich gegenseitig noch hm aktoren gestört.
gruss
andre
ps: die 30 sekunden sind auch das intervall das vom original elf info display verwendet wird. es sollte also eigentlich unproblematisch sein.
gruss
andre
Zitat von: justme1968 am 16 Dezember 2015, 17:04:59
der sketch hat sich leider seit der ersten version nicht mehr wirklich weiter entwickelt. es waren zwar noch diverse features geplant aber dazu ist es nicht mehr gekommen weil oweh keine zeit mehr hatte.
Ich denke in letzter Zeit als mal drüber nach, ob ich die PCA301 im LaCrosseGateway implementieren sollte.
Mit drei RFMs könnte die wohl problemlos mit abgehandelt werden.
Wie verbreitet ist die denn?
Hat sie eine Zukunft oder ist es Schnee von gestern?
Gibt es irgendwo eine kurze prägnante Beschreibung vom Protokoll, Ablauf (pairing, ...) usw. ohne dass ich den ganzen Thread und den kompletten Sketch und das FHEM Modul analysieren muss?
die dinger messen scheinbar recht genaue, sind recht solide aufgebaut und lassen sich am gerät schalten. haben nicht so viele features wie homematic sind dafür aber günstiger.
das eigentliche protokoll ist nicht besonders kompliziert, ich glaube es war damals aber recht viel aufwand es das erste mal zu decodieren und zum laufen zu bringen.
danach ist die eigentlicher herausforderung die logik im sketch. die energie werte müssen gepollt werden, aber nur wenn keine display unit vorhanden ist. wenn es die gibt übernimmt dies das pollen. das schalten melden die dosen von sich aus. im protokoll gibt es neben der eindeutigen hardware id der dosen noch eine logische id die in der display unit verwendet wird. der sketch versucht auch hier kompatibel zu sein damit man fhem parallel zur display unit betreiben kann. nach dem schalten muss der sketch explizit den status abfragen (und im fehler fall noch mal schalten, das macht er leider noch nicht). ansonsten würde man den status erst mit dem nächsten pollen prüfen können.
mit der display unit sind übrigens nur 8 geräte möglich. mit fhem beliebig viele.
ums protokoll an sich geht es in diesem beitrag: http://forum.fhem.de/index.php/topic,11648.msg78606.html#msg78606 (http://forum.fhem.de/index.php/topic,11648.msg78606.html#msg78606) und denen drum rum. du musst also nicht den ganzen thread lesen. es wurde aber nicht über die funk schnittstelle sondern per sei decodiert und das war glaube ich recht RFM12B spezifisch.
gruss
andre
Ich hab die Dosen und verfolge auch das LaCrosseGateway, da meine USB Ports mit Jeelinks knapp werden ;-)
Hallo Andre,
vielen Dank für die Informationen. Im Sketch hatte ich nicht nachgesehen. Konkrete Probleme habe ich auch noch nicht - Habe allerdings 40 Homematic-Geräte, 11 Lacrosse-Sensoren, 13 ZWave-Geräte und 8 PCA301 - alles im gleichen Frequenzbereich. Da ich 6 der PCA301 nur zum Schalten benutze und den Rest eher als Stromzähler denn zur Erfassung der Momentanleistung wäre es schön, wenn man das Intervall pro Dose einstellen könnte (das geht dann halt auch nicht über ein initCommand). Ich werde mal übergangsweise das Intervall im Sketch auf 2 Minuten setzen. Leider kann ich das Problem mit der wenigen Zeit nur zu gut nachvollziehen. Wenn ich es doch mal schaffe, was zu implementieren werde ich es hier posten. Eigentlich ist die Grundlage ja schon vorhanden (Zeile 220 in pca301serial.ino):
pcaConf.pcaDev[devPtr-1].nextTX = millis() / 100 + random(0,30) + pcaConf.pollIntv;
d.h. das Pollintervall wird für jede Dose einzeln gesetzt - halt immer nur mit dem Standardwert. Ich muss nur eine Möglichkeit finden, dieses Intervall über FHEM zu setzen und an den Jeelink zu senden. Mal sehen - vielleicht im nächsten Winter (oder wenn die Probleme konkreter werden) ;)
Gruß
Thomas
schau dir mal in pca301serial.ino die zeilen 355 case 'q': // turn quiet mode on or off (don't report TX and bad packets)
356 pcaConf.quiet = value;
357 break;
an.
auf die gleiche art kannst du ein neues kommando (z.b.) <interval> i einbauen um pcaConf.pollIntv zu setzen. der hilfetext müsste in den block ab zeile 290.
insgesamt sind es nur eine hand voll zeilen.
gruss
andre
Zitat von: HCS am 16 Dezember 2015, 22:13:53
Ich denke in letzter Zeit als mal drüber nach, ob ich die PCA301 im LaCrosseGateway implementieren sollte.
Mit drei RFMs könnte die wohl problemlos mit abgehandelt werden.
Wie verbreitet ist die denn?
Hat sie eine Zukunft oder ist es Schnee von gestern?
Gibt es irgendwo eine kurze prägnante Beschreibung vom Protokoll, Ablauf (pairing, ...) usw. ohne dass ich den ganzen Thread und den kompletten Sketch und das FHEM Modul analysieren muss?
@HCS
Ich fände das spitze wenn du dich dem PCA301 Sketch annehmen würdest.
Habe 12 von den Dosen im Einsatz.
Ich bin gerne bereit dir einen PCA301 zu spendieren. ;)
Wie "justme" schon erwähnt sind sie sehr solide, messen recht genau, was hauptsächlich noch fehlt ist das Schalten im Fehlerfall.
Nachdem der EMT7110 nicht mehr zu haben ist, wären die der ideale günstige Ersatz.
Zu erwähnen wäre noch die gute Empfangsreichweite. Aus meiner Sicht besser wie beim EMT7110.
Wenn du dich der Sache annimmst könnte mit deinem LaCrosseGateway wenn ich das richtig sehe die ganze Jeelink Family abgedeckt werden.
Gruß Billy
Zitat von: Billy am 18 Dezember 2015, 09:14:38
Ich fände das spitze wenn du dich dem PCA301 Sketch annehmen würdest.
Ich habe mich gestern bei einigen Glühweinen mehr oder weniger dazu entschlossen, es zu tun.
Zitat von: Billy am 18 Dezember 2015, 09:14:38
Nachdem der EMT7110 nicht mehr zu haben ist, wären die der ideale günstige Ersatz.
Genau aus diesem Grund. Habe meine beiden EMTs für "Waschmaschine und Trockner Fertigmeldung" verbraten und nun nichts mehr um dies und das mal zu Messen :'(
Zitat von: Billy am 18 Dezember 2015, 09:14:38
Ich bin gerne bereit dir einen PCA301 zu spendieren.
Nee, lass mal, den kann ich mir gerade noch leisten :)
Mach lieber Test, wiki, ...
Zitat von: Billy am 18 Dezember 2015, 09:14:38
Habe 12 von den Dosen im Einsatz.
Dann hast Du deinen Arbeitsvertrag als Tester bereits sicher.
Ich werde es aber nur im LGW implementieren, den alten PCA301 Arduino-Sketch werde ich nicht an mich reißen und der Arduino-LaCrosse Sketch wird es auch nicht können.
Zitat von: Billy am 18 Dezember 2015, 09:14:38Wenn du dich der Sache annimmst könnte mit deinem LaCrosseGateway wenn ich das richtig sehe die ganze Jeelink Family abgedeckt werden.
EC3000 kann es nicht.
Zitat von: HCS am 18 Dezember 2015, 09:39:26
Ich habe mich gestern bei einigen Glühweinen mehr oder weniger dazu entschlossen, es zu tun.
Dann hast Du deinen Arbeitsvertrag als Tester bereits sicher.
Ich werde es aber nur im LGW implementieren, den alten PCA301 Arduino-Sketch werde ich nicht an mich reißen und der Arduino-LaCrosse Sketch wird es auch nicht können.
EC3000 kann es nicht.
Super, das mit dem Testen / WIKI geht in ordnung.
Soeben esp8266 nodemcu v2 bei ali bestellt. (hoffentlich kommt er rechtzeitig)
EC3000 ist ok die Reichweiten waren soweit ich mich erinnere nicht gut außerdem hab ich keinen.
Billy
die reichweite der ec3000 ist sehr problematisch. da gibt es ganz unterschiedliche aussagen. der diesen vorteil ist aber das sie nur messen und nicht schalten. man muss sich also beim kühlschrank weniger sorgen machen.
ansonsten ist der sketch recht komplex und gross da es irgendeine verschlüsselung gibt. das war damals eine ziemliche herausforderung.
laut statistik gibt es gibt auch recht wenig anwender. ist also vermutlich nicht so relevant.
gruss
andre
Zitat von: justme1968 am 18 Dezember 2015, 10:58:34
vorteil ist aber das sie nur messen und nicht schalten. man muss sich also beim kühlschrank weniger sorgen machen.
gruss
andre
Dort wo ich bei kritischen Verbrauchern nur messen will habe ich einfach das Relais im PCA301 überbrückt! ;)
http://forum.fhem.de/index.php/topic,11648.msg106468.html#msg106468
Gruß Billy
Zitat von: justme1968 am 18 Dezember 2015, 10:58:34laut statistik gibt es gibt auch recht wenig anwender. ist also vermutlich nicht so relevant.
Für mich eh nicht, da ich mir nicht auch noch die dritte Sorte Mess-Dosen antuen werde ;D ;D
An die Statistik hatte ich gar nicht mehr gedacht ...
PCA301: 174 Anwender mit 1246 Instanzen
EC3000: 32 Anwender mit 298 Instanzen
LaCrosse: 445 Anwender mit 2349 Instanzen
JeeLink: 690 Anwender mit 766 Instanzen
Und das ist ja nur die halbe Wahreit.
Na denn, zwischen Gans und Ente plane ich dann mal PCA301 ein ;D ;D ;D ;D
Zitat von: Billy am 18 Dezember 2015, 11:21:07
Dort wo ich bei kritischen Verbrauchern nur messen will habe ich einfach das Relais im PCA301 überbrückt! ;)
Das macht auch Sinn, sonst hat sich die Gans und die Ente erledigt ...
Wenns nur ums Messen und nciht schalten geht sind IMHO die Revolts prima. Kosten rund 13€ und funktionieren zuverlässig am nanoCUL433?!
Vor allem, da Mann dann nicht "basteln" muß. Wenn was "passiert", ist man die "Unschuld vom Lande".
Habe hier auch 3 Stück im Einsatz .... und festgestellt, das ich meine CUL aktuell nicht verwende, kann also gerne "testen" (Schalte die Dosen über einen JeeLink)
Zitat von: Wernieman am 18 Dezember 2015, 12:06:03
Habe hier auch 3 Stück im Einsatz .... und festgestellt, das ich meine CUL aktuell nicht verwende, kann also gerne "testen" (Schalte die Dosen über einen JeeLink)
Ähm, welche Dosen?
PCA301 ..... wie im Threadtitel ....
Zitat von: Wernieman am 18 Dezember 2015, 13:03:13PCA301 ..... wie im Threadtitel ....
Glück gehabt, weil EC3000 steht aktuell vorerst mal nicht auf dem Plan für das LGW. ;D
Zu testen gibt es da bestimmt eine Menge.
Um die Funktionalität des alten Sketch im LGW ans Laufen zu bekommen, kommt das einer Neuentwicklung gleich, nur mit dem Vorteil, dass man schon weiß, wie es funktionieren muss aber mit dem Nachteil, dass man bestimmt Umsetzungsfehler macht. Und kleine Hürden, wie z.B. dass command Buchstaben von LaCrosse schon mit etwas belegt sind und in PCA301 etwas anderes tun, sind auch zu umschiffen.
Aber ich glaube, wir haben gerade den "Fragen zum PCA301 / Featurewunsch" Thread mit dem LGW gekapert. Sorry an den Thread-Ersteller.
Aber bist Du Dir wirklich sicher, das die Dosen gepollt werden?
der sketch (nicht fhem) pollt die dosen um die verbrauchswerte zu bekommen. genau so wie es die display unit machen würde. von sich aus melden die dosen nur wenn lokal geschaltet wird.
gruss
andre
Im Quellcode vom Sketch steht es auch so drin. Außer er hat eine Basisstation entdeckt, dann lässt er es, wenn ich den Code richtig verstanden habe.
ja. genau. sobald es die display unit (oder jemanden anders der pollt) gibt lauscht der sketch nur noch mit und die display unit übernimmt das pollen.
ps: wenn man sich verkünsteln möchte könnte man auch nur die dosen pollen die gerade eingeschaltet sind...
andere ideen die es schon gab die aber noch nicht umgesetzt wurden:
- force on / force off (kindersicherung) nicht aus fhem heraus sondern im sketch
- resend bei fehler direkt im sketch und nicht aus fhem heraus
- polling intervall nicht global sondern pro dose
Klingen sinnvoll, die Erweiterungen. Habe sie mal auf die ToDo gepackt.
Muss jetzt aber erstmal die grundlegende Kommunikation hinbekommen.
Hallo zusammen,
mit Andre´s Hinweisen habe ich jetzt ein Kommando <n>i in die Firmware eingefügt, mit der ich das default-Pollintervall verändern kann. Hierfür musste ich den Variablentyp auf uint32_t erweitern, damit auch größere Werte möglich werden. Ausserdem musste das deadIntv erhöht werden - habe es auf 864000 gesetzt, was 24h entspricht.
Des Weiteren habe ich in 36_PCA301.pm ein weiteres Internal >pollinterval< eingefügt. Wenn man es setzt, wird ein zusätzliches Pollen durch FHEM angestoßen. In Kombination mit einem größeren Default-Intervall, welches ich als init-Command übergebe kann ich so den Funkverkehr stark reduzieren. Selbstverständlich bin ich mir bewusst, dass das eine Krücke ist und vernünftigerweise mit den anderen genannten Ideen (insb. das automatische resend) in den JeeLink-Sketch gehört. Dafür fehlt mir jedoch auch leider im Moment die Zeit. Sollte jemand trotzdem Interesse haben, so hänge ich die Änderungen gerne hier an.
Gruß
Thomas
Irgendwie verstehe ich die Dose nicht so ganz.
Wenn ich ihr einen Ein-Befehl per Funk schicke, dann antwortet sie mit:
1 5 3 A0 94 1 AA AA AA AA 7A D4
bedeutet, sie ist an.
Wenn ich an der Dose vorort einschalte, dann sendet sie:
1 5 3 A0 94 0 AA AA AA AA FA AF
was ja eigentlich bedeutet, dass sie aus ist.
Wenn ich sie dann nach ihrem Status frage, sendet sie:
1 4 3 A0 94 1 0 6 0 0 83 2
was bedeutet, dass sei an ist.
Haben die bei ELV ... oder bin ich jetzt ... ???
Oder kennt jemand dafür eine Erklärung?
Da hilft wohl nur, wie der PCA-Sketch, nach Erhalt einer 5er Message nochmal bei der Dose nachzufragen ::)
ich meine mich zu erinnern das es die diskussion damals auch schon mal gab und das noch mal nachfragen die einzige lösung war.
gruss
andre
so kann man auch Funkverkehr produzieren ... ;D ;D ;D