Hab mir recht günstig einen Powerplug aus China bekommen und wollte diesen einbinden. Leider werden wohl nicht alle Parameter erkannt und ich bekomme auch einen Fehlermeldung:
Was kann ich dazu jetzt beitragen, damit der richtig funktioniert?
Hallo mistljo,
der Hinweis von mastermind war schon richtig aber vielleicht missverständlich. Du musst unter der Instanz eine Variable (wahrscheinlich float) anlegen. Der Name der Variablen ist dabei egal. Setze als Ident „Meter1Variable“. Dann sollte es funktionieren. Wenn nicht, dann versuche es mit einer Integervariablen.
Zu früh gefreut, funktioniert zwar, aber sobald man bei der Konfiguration etwas herumklickt (Z-Wave Switch) wir die von mir angelegte Variable, einfach gelöscht. Danke
Typischerweise wird die Variable bei jedem Neustart von IPS gelöscht. Das kann durch ein kleines Script, das die Variable erzeugt und bei jedem Neustart ausgeführt wird, umgangen werden. Ist nicht perfekt, aber hat bei mir bei einem ähnlichen Problem stabil funktioniert.
Viele Grüße
Jürgen
Ist zwar eine brauchbare temporäre Lösung, aber nicht vernünftig, da ich gerne das Logging verwenden würde. Dann würde ich aber jedes mal die Daten verlieren.
ich habe mir jetzt ein kleines Skript geschrieben, welches die entsprechende Variable anlegt und auch den Ident der Variable setzt:
$ÜbergeordneteID = 15307;
$VariablenID = @IPS_GetVariableIDByName("Energie", $ÜbergeordneteID);
if ($VariablenID === false){
echo "Variable nicht gefunden!";
$VarID_kwh = IPS_CreateVariable(2);
IPS_SetName($VarID_kwh, "Energie"); // Variable benennen
IPS_SetParent($VarID_kwh, 15307); // Variable einsortieren unter dem Objekt Cyrus Switch
IPS_SetIdent($VarID_kwh, "Meter1Variable");
}
else
echo "Die Variablen-ID lautet: ". $VariablenID;
?>
das funktioniert soweit.
Aber wenn das stimmt, dass alle generierten Variablen nach Neustart weg sind, wie kann ich ein Skript immer zum Start des IPS Servers ausführen lassen?
gbit es etwas neues bezüglich der Power-Plugs von NEO Coolcam? Beim letzten Sale konnte ich auch nicht widerstehen und habe mir zwei der Plugs gegönnt, bei knapp 18€ war die Versuchung zu groß
Ich habe mir die Plugs und die Debugs der Z-Wave Instanz heute mal genauer angesehen, dort kommen ganz normale V4 Meter-Reports an, die allerdings nicht weiter beachtet werden::
TXT: 14.09.2017 14:51:54.00 | (R) Class (32): METER | <STX>!D<NUL><NUL><NUL>!<NUL>=<NUL><NUL><NUL>!É<NUL>
HEX: 14.09.2017 14:51:54.00 | (R) Class (32): METER | 02 21 44 00 00 00 21 00 3D 00 00 00 21 C9 00
TXT: 14.09.2017 14:51:54.00 | METER | !D<NUL><NUL><NUL>!<NUL>=<NUL><NUL><NUL>!É<NUL>
HEX: 14.09.2017 14:51:54.00 | METER | 21 44 00 00 00 21 00 3D 00 00 00 21 C9 00
TXT: 14.09.2017 14:51:54.00 | (R) Class (32): METER | <STX>!D<NUL><NUL><NUL>!<NUL>=<NUL><NUL><NUL>!Ê<NUL>
HEX: 14.09.2017 14:51:54.00 | (R) Class (32): METER | 02 21 44 00 00 00 21 00 3D 00 00 00 21 CA 00
TXT: 14.09.2017 14:51:54.00 | METER | !D<NUL><NUL><NUL>!<NUL>=<NUL><NUL><NUL>!Ê<NUL>
HEX: 14.09.2017 14:51:54.00 | METER | 21 44 00 00 00 21 00 3D 00 00 00 21 CA 00
TXT: 14.09.2017 14:51:55.00 | (R) Class (32): METER | <STX>!T<NUL><NUL><NUL><NUL><NUL>=<NUL><NUL><NUL><NUL>Ê<NUL>
HEX: 14.09.2017 14:51:55.00 | (R) Class (32): METER | 02 21 54 00 00 00 00 00 3D 00 00 00 00 CA 00
TXT: 14.09.2017 14:51:55.00 | METER | !T<NUL><NUL><NUL><NUL><NUL>=<NUL><NUL><NUL><NUL>Ê<NUL>
HEX: 14.09.2017 14:51:55.00 | METER | 21 54 00 00 00 00 00 3D 00 00 00 00 CA 00
TXT: 14.09.2017 14:51:56.00 | (R) Class (32): METER | <STX>¡BZi<NUL>=ZÊ<NUL>
HEX: 14.09.2017 14:51:56.00 | (R) Class (32): METER | 02 A1 42 5A 69 00 3D 5A 8F CA 00
TXT: 14.09.2017 14:51:56.00 | METER | ¡BZi<NUL>=ZÊ<NUL>
HEX: 14.09.2017 14:51:56.00 | METER | A1 42 5A 69 00 3D 5A 8F CA 00
TXT: 14.09.2017 14:51:56.00 | (R) Class (32): METER | <STX>¡BZi<NUL>=ZÍ<NUL>
HEX: 14.09.2017 14:51:56.00 | (R) Class (32): METER | 02 A1 42 5A 69 00 3D 5A 8F CD 00
TXT: 14.09.2017 14:51:56.00 | METER | ¡BZi<NUL>=ZÍ<NUL>
HEX: 14.09.2017 14:51:56.00 | METER | A1 42 5A 69 00 3D 5A 8F CD 00
TXT: 14.09.2017 14:51:57.00 | (R) Class (32): METER | <STX>¡J<NUL><NUL><NUL>=<NUL><NUL>Í<NUL>
HEX: 14.09.2017 14:51:57.00 | (R) Class (32): METER | 02 A1 4A 00 00 00 3D 00 00 CD 00
TXT: 14.09.2017 14:51:57.00 | METER | ¡J<NUL><NUL><NUL>=<NUL><NUL>Í<NUL>
HEX: 14.09.2017 14:51:57.00 | METER | A1 4A 00 00 00 3D 00 00 CD 00
Über eine Register-Variable bekomme ich die Werte auch ausgelesen, zumindest für Watt und Kilowattstunden. Bei den anderen beiden für Ampere und Volt scheint sich der Cutter noch zu verschlucken. Vermutlich da die Reports unterschiedlich lang sind (2 Byte vs. 4 Byte) und daher die feste Schrittweite nicht wirklich funktioniert.
Wäre natürlich schön wenn die Plugs direkt funktionieren würden ohne zusätzlichen Aufwand in Form von RegVar und Cutter.
Gibt es eigentlich die Möglichkeit die Node-Information-Frames ohne erneutes Inkludieren neu anzufordern/einzulesen? Wäre für das Troubleshooting auch sehr hilfreich, der Z-Way-Server bietet diese Möglichkeit zum Beispiel an.
Habe mich gerade nochmal mit dem Script von mb007 beschäftigt…
Es funktioniert (NICHT, siehe Edit) einwandfrei beim NeoCool Plug.
Hab es noch etwas angepasst damit es nur noch unter die Instanz des NeoCoolPlug gestellt werden und ausgeführt werden muss:
<?
// Ursprüngliches Script von mb007
// Etwas optimiert von lueralba
// 1.10.2017
// Dieses Scipt wird unter die Instanz der NeoCool Steckdose gesetzt und ausgeführt
$ÜbergeordneteID = IPS_GetParent($_IPS['SELF']);
$VariablenID = @IPS_GetVariableIDByName("Energie", $ÜbergeordneteID);
if ($VariablenID === false){
echo "Variable nicht gefunden!";
$VarID_kwh = IPS_CreateVariable(2);
IPS_SetName($VarID_kwh, "Energie"); // Variable benennen
IPS_SetParent($VarID_kwh, $ÜbergeordneteID ); // Variable einsortieren
IPS_SetIdent($VarID_kwh, "Meter1Variable");
}
else
{
echo "Die Variablen-ID lautet: ". $VariablenID;
}
?>
Gruß
lueralba
Edit:
Wäre ja auch zu schön gewesen…
Der Wert „Energie“ wird nun je nach An oder Aus Status der Steckdose auf den einen (-17,7444…) bzw. den anderen Minuswert (-17,77777…) gesetzt.
Aber die Fehermeldung ist wenigstens weg :rolleyes:
Ich habe mir das Problem letztens nur ganz kurz angeguckt und ich vermute, dass es daran liegt, dass wir die METER Klasse noch nicht in Version 4 unterstützen.