Äh… Die gibt es ab Werk:
Volt.230
Watt.14490
Electricity
Du solltest keine Profile nutzen wo man sieht das sie von anderen Modulen stammen.
Die Tilde vor den Profilen kannst du Weglassen.
Was mich viel mehr schockiert hat, was machen darstellbare Werte wie Model, Firmware, RSSI usw… in den Eigenschaften ?!
Entweder ist es eine Variable in IPS Wert oder nicht. Aber doch bitte nicht in die Eigenschaft…
Und das dann auch noch zyklisch Abfragen und ApplyChanges auf sich selbst.
Dafür sind die Eigenschaften nicht da.
Michael
Ganz einfach, so lange es bei IP-Symcon so ist, das von der Anzahl der Variablen die Lizenz abhängt, macht es keinen Sinn für jeden noch so kleinen Wert eine Variable anzulegen. dann hätte eine poplige Steckdose 20 ! Variablen. Es mag ja aber durchaus sein, dass man so einen Wert nachschauen will ohne ihn gleich darstellen zu wollen. Eine Variable dient in erster Linie dazu im Webfront dargestellt zu werden oder mit dem Wert dann weiter zu arbeiten. Aber Du kannst mir gerne einen Vorschlag machen wie Du das lösen würdest ohne unnötig Variablen zu benutzten und die Informationen dennoch für einen Nutzer vorzuhalten.
Komplett falsch gedacht und umgesetzt.
A) Du kompromittiert damit das IPS Lizenz Model.
B) Reine Info-Werte kannst du direkt in der Form durch GetConfigurationForm dynamisch anzeigen (Model, Typ usw)
C) Werte wie Längen und Breitengrad sind ja wohl komplett überflüssig bei einer Steckdose.
D) Variablen sind nicht in erster Linie dazu gedacht sie im WebFront darzustellen, sondern genauso um anhand ihrer Werte Ereignisse auszulösen oder sie in anderen Scripten abzufragen.
E) Man kann auch den User einfach konfigurieren lassen was er als Variablen haben will. Wählt er z.B. GerateTyp ab, hat er halt keine Variable dafür und kommt nicht an den Wert.
Das kann man sehen wie man will, eine Steckdose ist zum Schalten da. Und ich persönlich halte es für überzogen nur weil man sagen wir 10 Geräte besitzt, dann eine größere Lizenz zu benötigen, weil ein simples Gerät so viele Variablen verbraucht. Variablen sind dazu da, entweder etwas zu schalten, zu visualisieren oder Daten als Graph darzustellen. So was wie die Firmware Version ist zwar nett zu wissen, aber ich würde da niemals eine Variable für verwenden wenn ich ich so oder so die Unlimited Version hätte.
Das ist eine gute Idee, aber wo liegt da jetzt der genaue Vorteil zu dem was jetzt der Fall ist, die Form wird doch auch in einer Property abgelegt?
Das sagst Du so, die Dose kann aber durchaus so was wie bei Sonnenaufgang schalten. Und wenn da Murks hinterlegt ist, dann funktioniert das auch nicht. Also ist diese Information aus meiner Sicht schon relevant.
Da stimme ich Dir ja vollkommen zu, nur was will ich mit so was wie MAC oder der Modell Bezeichnung in einem Skript auslösen? Also brauche ich da zumindest aus meiner persönlichen Sicht auch keine Variable für.
So habe ich das ja in anderen Modulen gemacht z.B. Denon wo der Nutzer auswählen kann was er braucht. Ich werde mal schauen wie man das vielleicht noch ändern kann so was wie eine Liste ist vielleicht ja gut, wobei das wie gesagt auch eine Property ist also den genauen Unterschied sehe ich jetzt noch nicht.
Hm , bei mir zeigt er Werte an, ich habe jedoch, wenn ich das vergleiche, Firmware 1.1.4 Build 170417 Rel.145118 und Hardware Version 1. In sofern unterscheidet sich das. Kann sein, dass da wieder alles über den Haufen geworfen worden ist und noch mal wieder alles anders ist. Das dauert dann bestimmt länger und ich kann es selber auch nicht testen weil ich die Hardware Version gar nicht selber besitze. In sofern muss man da mal schauen ob man da eine Lösung findet, vielleicht hat da ja jemand eine Idee. Ich fürchte daher auf die Schnelle wirst Du Dich vorerst mit Ein/Aus begnügen müssen bei der Hardware Version.
Danke für Eure Hilfe. Ich habe das jetzt mit einer HS110 HW Ver. 1 nachvollzogen und hier funktioniert alles.Es sieht so aus, als hätte TP Link hier in der Befehlsreferenz was geändert. Schade :mad:
Grundsätzlich kann man das ja eventuell anpassen, nur dann geht das Spiel eben wieder von vorne los und man muss schauen was die App da eigentlich macht, und ohne Hardware wird das schwierig. Aber wenn Du was heraus finden solltest, kannst Du Dich ja gerne melden, dann kann man das auch für neue Hardware Versionen erweitern.
Hier gibt es u.a. auch ein binary „pyhs100“ welches folgende Informationen ausgibt:
i) „altes Modell“ (voll funktionsfähig mit dem IPS-Modul:)
== ECT01 - HS110(EU) ==
Device state: ON
IP address: 192.168.118.191
On since: 2018-06-15 10:26:47.868698
LED state: True
== Generic information ==
Time: 2018-12-21 11:29:10 Hardware: 1.0 Software: 1.2.5 Build 171213 Rel.101523
MAC (rssi): B0:4E:26:6B:9E:8F (-61)
Location: {‚longitude‘: 0, ‚latitude‘: 0}
== Emeter == Current state: {‚total‘: 183.493, ‚current‘: 0.553777, ‚power‘: 59.286718, ‚voltage‘: 225.4195}
ii) „neueres Modul“
== ECT06 - HS110(EU) ==
OFF
IP address: 192.168.118.100
On since: 2018-12-21 11:29:11.223658
LED state: True
== Generic information ==
Time: 2018-12-21 11:29:03 Hardware: 1.0
Software: 1.2.5 Build 171213 Rel.101523
MAC (rssi): B0:4E:26:54:37:30 (-59)
Location: {‚longitude‘: 0, ‚latitude‘: 0}
== Emeter ==
Current state: {‚total‘: 1.15, ‚current‘: 0.014063, ‚power‘: 0, ‚voltage‘: 229.320428}
iii) ganz neue Version
== heECT07 - HS110(EU) ==
OFF
IP address: 192.168.118.197
On since: 2018-12-21 11:29:13.275751
LED state: True
== Generic information ==
Time: 2018-12-21 11:29:12 Hardware: 2.0
Software: 1.5.4 Build 180815 Rel.121440
MAC (rssi): AC:84:C6:89:EF:0B (-51)
Location: {‚longitude‘: 0, ‚latitude‘: 0}
== Emeter == Current state: {‚voltage_mv‘: 226735, ‚power_mw‘: 0, ‚total_wh‘: 24, ‚current_ma‘: 12}
Derzeit ist es bei mir so, dass i) vollständig funktioniert (Schaltung sowie Energiemessung), ii) und iii) aber nur schalten, die Energiewerte sind „0“
Die „Keys“ dieses JSON sind bei der alten Version (1.0) (‚total‘, ‚current‘, ‚power‘, ‚voltage‘) anders als bei der neuen Version (2.0) (‚voltage_mv‘, ‚power_mw‘, ‚total_wh‘, ‚current_ma‘).
Könnte es ein, dass sich nur die Keys (ok, und die Einheiten) geändert haben?
Ich habe mir (als absoluter PHP Laie) die „module.php“ einmal angesehen. Die „decrypt“ Funktion habe ich gefunden. Leider kann ich nicht herausfinden, wie der JSON-String ausgewertet wird:
$result = json_decode($this->decrypt($buf));… hier kommt der JSON Output heraus. Aber wie/wo entsteht der $result->emeter->get_realtime->voltage Teil? emeter wird schon in der $command Variable verwendet… Dennoch kann ich das nicht nachvollziehen.
Im Grund gehe ich im Moment davon aus, dass das Script anpassbar ist, da das o.g. Pyhton Modul auch mit der Hardware-Version 2.0 funktioniert. Nur ob ich das in PHP schaffe, da bin ich mir noch nicht so sicher
Zur Not füttere ich IPS über die JSON-RPC Schnittstelle aus einem Python Script. Ist aber ja nicht Sinn der Sache
Sollte sich die Verschlüsselung nicht geändert haben sondern lediglich die Werte ist das kein Problem dann kann man das schnell ergänzen.
Kannst Du mal die Instanz öffnen und dann das Debug Fenster (Käfer Icon) öffen und posten was dort bei den neueren Modellen steht bei TP Link Socket Result?
Wenn dort Klartext steht dann ist nur die Art wie die Werte übergeben werden anderes dann kann ich das auch anpassen.
Schalten geht auch, allerdings bleibt die „Eieruhr“ / das „Rad“ nach einer Schaltaktion ca. 50 Sekunden. Danach geht die GUI in den Zustand vor der Schaltaktion (die Aktion selber am HS-110 bleibt aber). Drückt man den Button im WebFrontend noch einmal, das gleiche Spiel. Diesmal bleibt die GUI Darstellung aber, auch wenn das „Rad“ nach 50 Sekunden verschwindet. (Sollte das unverständlich sein, mache ich ein Video davon…)
Dann habe ich plötzlich bei der Einrichtung eines Events alle Properties doppelt. Kannst Du mir sagen, wie ich das bereinigen kann?
Ist doch praktisch kannst Du dein E Auto direkt an der Steckdose laden ;), Spaß beiseite ist durch 1000 dividiert nach dem Update.
Das hört sich nicht gut an anscheinend wird da auf irgendwas gewartet, da muss ich mal schauen ob ich das finde.
Die Frage müste eigentlich jemand von IP-Symcon beantworten, ist leider oft so dass dies nach einem Modul Update auftritt. Das sollte dann wieder normal sein, wenn IP-Symcon einmal komplett neu gestartet wurde.