PHP Modul für Plugwise

Ja die Doku ist noch abgänig :rolleyes:

Hilfe zur Selbsthilfe; auch wenn du es bei anderen Instanzen oder Modulen hast:
Im Objektbaum rechtsklick ‚Befehle testen‘ liefert alle Befehle welche auf diesese Instanz funktionieren.

Oder STRG+Space im Script-Editor.

Da taucht dann PLUGWISE_SendSwitch auf.

Somit:


boolean PLUGWISE_SendSwitch(int $InstanceId, bool $Value);

An:


PLUGWISE_SendSwitch(12345, true);

Aus:


PLUGWISE_SendSwitch(12345, false);

Ist der Node nicht erreichbar bzw. antwortet nicht, wird eine Warnung erzeugt und false zurückgegeben.

Michael

Vielen Dank für die schnelle Hilfe.

Ich war völlig auf dem Holzweg. Hatte mit PLUGWISE_SwitchMode „gespielt“ und kein Ergebnis bekommen. An die Schaltfläche Befehl testen habe ich nicht gedacht.

Hallo,

Oder STRG+Space im Script-Editor.

Da taucht dann PLUGWISE_SendSwitch auf.

Somit:
PHP-Code:
boolean PLUGWISE_SendSwitch(int $InstanceId, bool $Value);

An:
PHP-Code:
PLUGWISE_SendSwitch(12345, true);

Aus:
PHP-Code:
PLUGWISE_SendSwitch(12345, false);

Ist der Node nicht erreichbar bzw. antwortet nicht, wird eine Warnung erzeugt und false zurückgegeben.

unter „Befehle testen“ erhalte ich lediglich:
PW.png

Wie wird denn nun ein Circle geschalten ???

Gruß Proxima

Ups… Was habe ich denn da für Quark gebaut und geschrieben.
Sorry :smiley:
PLUGWISE_SwitchMode sollte doch funktionieren.
Michael

Hallo,

ja, „PLUGWISE_SwitchMode“ funktioniert.

Ich habe aber noch ein anderes Problem:
Immer wieder schlagen meine Circles (mehrere) aus und liefern trotz ausgeschaltetem Gerät (welches eingesteckt ist, nicht der Circle selbst) hohe Werte bei „Leistung aktuell“.

Das Library-Modul lieferte nie solche Ausschläge.

Was läuft falsch ???
Welche Unterschiede in der Berechnung gibts bei Library <–> Modul ???
Kann eine Kalibrierung händisch angestoßen werden ???

Gruß Proxima

Keine Ahnung wo die Unterschiede liegen, habe mir das in der IPS-Library nie wirklich angeschaut.
Zuerst in Graphen min/max ausschalten und nur Hohe Dichte und Dyn auswählen. Alles andere ist nur verfälscht.
Die Kalibrierung kann man nur auslesen, das funktioniert mit RequestCalibration.
Imho wird das nur beim Neustart bzw wenn der USB Stick verbunden wird abgefragt.
Weiß jemand ob die Werte sich ändern?
Kannst ja testweise einfach z.b. alle Stunde PLUGWISE_RequestCalibration anstoßen.
Einfach ein Ereignis auf die Instanz legen und den Befehle auswählen.
Wenn es dann besser wird, baue ich da gerne einen automatischen Request ein :slight_smile:
Michael

Habe mal ne ziemlich blöde Frage:

Ich möchte den Gesamtverbrauch mit loggen. Für mich stellt sich jetzt die Frage, was ich einstellen muss: Aggregation als Standard oder als Zähler? Irgendwie blicke ich den Unterschied da nicht. Wäre nett, wenn mir das mal Einer erklären könnte. Habe zwar die Doku schon gelesen, raffe das aber nicht ganz.

Grüße,
Jürgen

Zähler = wird immer mehr, ‚Zähler‘ halt :wink:
Standard = z.B. Temperaturen, Luftfeuchte etc…
Michael

Danke,
hab´s jetzt kapiert.

Hallo
paar Posts weiter oben hat Proxima wegen unerklärlicher Spitzen reklamiert.
Selbes hab ich hier auch:


Bei der alten Scriptbasierten Lösung von Axel gab es das nicht.

Hier wurden als Basis für die Berechnung der vom Circle gemeldet Summe der letzten 8Sekunden genommen.
Der 1Sekundenwert wird gar nicht weiter ausgegeben oder berechnet.
Ich vermute mal die Library Lösung arbeitet gleich (dort gab es ja auch keine Spitzen).

Soweit ich den Modulcode verstehe entspricht dieser 8Sekunde Wert der Variable „Leistung Durchschnitt“.
Diese zeigt bei mir auch keine Spitzen.

Vieleicht solltest das in der Doku irgendwo ergänzen, oder die „Leistung Aktuell“ Variable gleich weglassen.

Achja, die Kalibrationsdaten wurden nie zyklisch abgefragt. Denke das ist auch das ist auch nicht notwendig. Die Elektronik im Circle kann ja bestenfalls Kalibrationswert für den Offset selbst erstellen. Gain wohl kaum der ist vermutlich fix eingestellt.

schöne grüße
bb

Ach und noch was:
Bei der Scriptlösung hatte ich nie Probleme das einzelne Circles nicht schaltbar oder nicht erreichbar waren.
Im Modul kommt das aber durchaus öfter vor. Eher intermittierend, beim nächsten Versuch gehts dann wieder.

Ähnliches beim Konfigurator: Einzelne Circles zeigt er einfach nicht an, obwohl diese sauber im Netzwerk sind. (überprüft mit der Script Variante und mit der original Plugwise Software).
Erst nach „Node über MAC Adresse anlernen“ ist er ordentlich da.

Hmmm… ???

Kann es sein das im Modul irgendwelche Timeouts zu kurz gesetzt sind ? Wenn ja kannst mir bitte eine Stubs geben an welcher Stelle vom Code ich da rumexperimentieren könnte ? Lebe noch mehr in der Script Welt.

gruß
bb

Das mit den Spitzen schau ich mir an, hier waren in anderen Umsetzungen einfach Werte gekappt worden.
Die Kalibrierung muss eigentlich nur einmalig beim Starten von IPS geladen werden. Hier weiß ich gerade nicht wie es z.B. in der IPS Library war. Hatte dann auf die ‚sichere‘ Variante mit zyklischer Abfrage gesetzt.

Beim Schalten hatte ich nur Probleme wenn das Netzwerk zu langsam reagiert.
Also über zu viele Circle das Signal geroutet wird.

Da kannst du im Debug der Instanz des Circle sehen was passiert. (Timeout?)
Und zeitgleich im Splitter nachschauen ob z.b. auch gleichzeitig viele Messwerte abgefragt werden.

Der Splitter wertet ausgeblieben Antworten aus. Die IPSLibrary Lösung hat das gar nicht beachtet wenn Mal keine Antwort erfolgte.
Michael

Wie gesagt, meine Erfahrungen basieren auf der Script Variante von Axel mit einigen Forks von mir. Die Library kahm dann erst viel später.
Du hast insofern recht das ausbleibende Antworten keine Fehlermeldung erzeugten.
Aber schalten übers Webfront hat IMMER beim ersten Klicken funktioniert, ebenso per Script welches durch Wandschalter oder was auch immer ausgelöst wurde.

Und ja, es sind vorwiegend Circles betroffen die vermutlich über mehrere andere geroutet werden. Darum die Vermutung mit dem Timeout.

greez
bb

Imho wird 5 Sekunden auf eine Antwort gewartet sonst gibt es eine Fehlermeldung an den Aufrufen der Schaltaktion.
Aber… Schalten sollte er (irgendwann) trotzdem und der Status wird dann nachgezogen sobald Dieser abgefragt wird.
An der Funktion des Mesh-Netzwerks ändert ja die Umsetzung in IPS nichts.
Meine schalten alle sauber.
Michael

Ja eben, darum denke ich ja an einen zu kurzen Timeout.
Was noch ein Unterschied ist, das vorher die Abfrage der Leistung an alle Circles zugleich gesendet wurde. Die Antworten kahmen dann auch ziemlich kurz hintereinander. Man sah schon wie die PHP Threads kurz hoschschnellten.
Dann war wieder 2min Ruhe.
Im Modul hab ich auch auf 2min gesetzt, man sieht aber dauernd Plugwise Threads. Vielleicht gibt es ja dadurch mehr Kolissionen und Nachrichtenverlust ?

Habe 30 Circles im Netz.
Werde da mal ein wenig experimentieren.

Schau doch in den Debug Reitern, dann siehst du was dort passiert.
Mein Timeout (warten auf Antwort) hat aber nichts mit deinem Problem zu tun, wenn der Circle physikalisch gar nicht schaltet.
Nur wenn er schaltet aber halt nicht schnell genug.
Michael

Hi,

Thanx for you great plugin. In the latest Beta i got these errors a lot:

13-10-2018 10:08:22 | TimerPool | XXXXX (RequestState): <br />
<b>Warning</b>: Unsupported locale: C in <b>/var/lib/symcon/modules/IPSPlugwise/libs/Plugwise.php</b> on line <b>1475</b><br />
<br />
<b>Warning</b>: Unsupported locale: C in <b>/var/lib/symcon/modules/IPSPlugwise/libs/Plugwise.php</b> on line <b>1475</b><br />
<br />
<b>Warning</b>: Unsupported locale: C in <b>/var/lib/symcon/modules/IPSPlugwise/libs/Plugwise.php</b> on line <b>1475</b><br />
<br />
<b>Warning</b>: Unsupported locale: C in <b>/var/lib/symcon/modules/IPSPlugwise/libs/Plugwise.php</b> on line <b>1475</b><br />

How can this be fixed?
thanx!

Herwin Jan

You have to set the language of your OS correctly.
Michael

Thanx, fixed!

update-locale LC_ALL=„en_US.UTF-8“
was the trick on Ubuntu.

Hallo,

habe ein Problem bei der Konfig des Store-Moduls:

„Änderungen übernehmen“, Schließen des Reiters oder IPS-Neustart macht keinen Unterschied.

Gruß Proxima