Neues Modul: Plugwise (und Circle)

Begonnen von Icinger, 25 Juli 2014, 10:19:52

Vorheriges Thema - Nächstes Thema

Icinger

Hi Leute,

nachdem mir doch schon einige male hier auf geholfen wurde und ich schon vieles aus dem Forum und dem Wiki aufgeschnappt habe, möchte ich der Community auch mal was zurückgeben :)

Anbei zwei Module für das Plugwise-System.
45_Plugwise.pm als Hauptmodul für den Stick
46_Circles.pm als Device, welches unter dem Plugwise hängt.

Wenn ein erfahrenerer Perl-Programmierer drüberschaut, werden ihm wahrscheinlich die Haare zu Berge stehn gg
Das ganze ist zusammengestöpselt aus dem WMR-Modul (Grundstruktur abgeguggt) und dem Perl-Plugwise-Device.

Ursprünglich wollte ich sowieso das Device::Plugwise verwenden, allerdings hat das den Nachteil, dass ich mich nicht in die DevIO einhängen kann.

Voraussetzungen:
Die Perl-Module digest:CRC und math::round müssen installiert sein.

Definition des Moduls:
define myPlugwise Plugwise /dev/ttyPlugwise@115200
also einfach nur die serielle Schnittstelle angeben

Die Circles werden bei in der Init-Routine automatisch gesucht und angelegt, können aber auch nachträglich per
get myPlugwise Scan_Circles
nochmal gesucht werden, falls später ein neuer Circle hinzugekommen ist.

Mit dem Attribut circlecount kann man die Anzahl der zu Suchenden Circles einstellen (bei mir 10).
Über Intervall kann das polling-Intervall eingestellt werden.

Bei mir funktioniert das ganze jetzt schon seit einigen Tagen ohne Probleme.

Update:
"syncTime" -> damit wird die Uhrzeit auf den Circles auf die aktuelle Systemzeit gesetzt. Kann einzeln (set CircleAdr syncTime) oder global (set MyPlugwise syncTime) gesetzt werden.
Verbose 4 loggt den Datenstream mit.

Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

hansk

Sorry for the English. My German reading is good, but writing could be better. Thanks for creating this module. Going to test it on a Raspberry Pi. Any special considerations regarding the Plugwise stick on a Raspi that you know of ?

Icinger

Good morning,

no problem in writing english :)

I can't think of any obstacles on running Plugwise on a Raspberry.
Here, it runs since 2 weeks on a Cubietruck like a charm.

If you need any help or have suggenstions, don't hesitate to write me.


Cheers, Icinger

PS: It makes live much more easier, if you create an .udev-rule for the Plugwise-Stick, so that its alsways on then same mountpoint. (for me: /dev/ttyPlugwise instead of /dev/ttyUSBS0)
I can post my udev-rule for then plugwise tonight, since im now at the office and can't ssh home.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

hansk

Must be something stupid but FHEM keeps telling me that it can not load the module Plugwise.
Checked rights, no getty on port etc.

If I use same port for FHZ1000 everything runs.....



Icinger

I just moved my modules from DevSystem to MainSystem some days ago.

Copied them to my system, defined it and it worked out of the box......
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

hansk

To inform the general public:

I have the Plugwise modules running with 9 Circles on a Raspberry PI running FHEM. The FHEM implementation also covers a quit big network (40+) of FS20 components.
There are still some small instabilities but it looks very promising.

Hans

jeckyllhavok

Hallo zusammen,
wäre es möglich das Modul um die Plugwise Switche und BWMs zu erweitern?

Vielen Dank im Voraus

Icinger

#7
Möglich ist es sicher.....

Da ich aber weder einen Switch noch einen BWM habe, kann ich das maximal nur theoretisch einspielen.

Werde mal am Wochenende schaun, ob ich protokolltechnisch dazu Informationen finde.

lg, Ici

PS: Switches sollten ja mMn eigentlich funktionieren, die sind ja auch nichts anderes als ein Circle, nur halt in nem anderen Gehäuse, oder?
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

jeckyllhavok

#8
Servus,
danke für die rasche Antwort. Die Switche sind die Wandschalter, die die du meinst, sind die Stealth Geräte.

Wenn ich iwas testen kann, bzw. du weitere Infos brauchst schreib kurz ne PM

Hab dir ne PM mit ein paar Infos geschrieben

Icinger

Mal schaun, wie ich dazukomm......Es gibt ja auch nen fertigen Python-Stack, allerdings hab ich noch nicht geschaut, ob die Switches und BWMs da unterstützt werden.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

jeckyllhavok

#10
Kurze Frage, bei den Readings,
energy ist denke ich mal der Verbrauch in wh
energy_ts scheint mir der letzte Zeitpunkt der Übermittlung des Verbrauchs zu sein
aber was ist der Unterschied zwischen power und power8?

Icinger

Power ist die Anzahl der Pulse pro Sekunde.
Power8 ist die Anzahl der Pulse der letzten 8 Sekunden.

Frag mich nicht, wie dievon Plugwise genau auf diesen 8 Sekunden-Rythmus kommen....Ist halt einfach so :)
Diese Info kommt halt von den Circles im Protokoll mit.

Die Pulse werden dann unter zuhilfenahme Calibration-Info, die auch übers Protokoll kommt, umgerechnet.

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

apuplugwisefhem

Hey,

ich finde deine Arbeit toll, was du da gemacht hast, endlich habe ich alles in einem Backend, vorher hab ich immer nur dieses Lästige Python script benutzt...

Ich habe ein Circle und ein Steahl+

Das Ganze sieht so aus, siehe Screenshot :)

Viele Grüße

Icinger

Hi,

schön, das zu hören.

Wart noch 2-3 Tage, dann bekommst eine komplette Plugwise-Unterstützung mit Switch, Scan, Sense und Circle.
Bin grad mit einem anderen User hier im Beta-Endstadium.

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

apuplugwisefhem

hey, wie schauts denn aus?

es lief jetzt knapp eine woche durch, danach kamen dauernd disconnects vom stick.
hat einer ne idee?

hier auszug aus dem log.

015.11.09 19:20:38 3: myPlugwise - Received error response - :00E1
2015.11.09 19:20:38 3: myPlugwise - Received error response - :00E1
2015.11.09 19:20:39 3: PLUGWISE: Received a valid response to the init request from the Stick. Connected!
2015.11.09 19:20:43 3: myPlugwise - Received error response - :00E1
2015.11.09 19:20:43 3: myPlugwise - Too many Errors, giving up. Use 'get myPlugwise reOpen' after correcting

greets tony