Neo Coolcam Power Plug wird nicht sauber erkannt

Hi zusammen,

Ich habe bereits einige Power-Plugs von Neo Coolcam im Einsatz, jedoch scheint die aktuellste Hardware-Revision nicht sauber erkannt zu werden:

[ul]
[li]nur 2 anstatt 3 Assoziationsgruppen (Lifeline und OCP-Alarm)
[/li][li]keine bzw. leere Parameterliste
[/li][/ul]

Der zweite Punkt scheint auf eine falsche Zuordnung zurückzuführen zu sein, da die Device-ID 0200:1027 doppelt vorkommt. Der Link „Verbesserungsvorschlag“ leitet auf ein gelöschtes Profil: Device 1117 - gelöschtes Device

Korrekt scheint der folgende Eintrag zu sein: Device 1014 - richtiges Device

Die einzelnen Meter-Variablen werden sauber aktualisiert wenn ein Verbraucher angeschlossen wird, daher ist die Grund-Funktionalität schon einmal gegeben. Parameter können ebenfalls sauber ausgelesen bzw. gesetzt werden wenn die Parameter manuell anhand des o.g. Devices 1014 eingetragen werden.

Gruß Bernd

dump-NeoCoolcam.txt (10 KB)

  1. Kannst du „erzwingen simple Assoziationen“ aktivieren und gucken was dann passiert?
  2. Ist bekannt. Wir arbeiten dort an einem Fix: Probleme mit Fibaro Sensor FGMS-001 mit 5.2 - Seite 2

paresy

Hi Paresy,

bin leider schon auf Version 5.3, daher gibt es den Schalter mit den simplen Assoiationen für dieses Gerät bei mir nicht.

Gruß Bernd

Magst du dann einen Debug vom Laden hochladen? Ich befürchte aber eher, dass das Gerät wirklich nur zwei Assoziationen meldet.

paresy

Paresy du hast recht-.
Diese Firmware Version meldet nur zwei Gruppen.

@Bernd: Läuft diese Varinate bei dir ansonsten normal ? Ich habe 4 Stück mit dieser Firmware, sind aber alle nicht zu gebrauchen.
Hängt aber wohl irgendwie an der Hardware. Diese Plugs hängen sich so alle 2-3 Wochen mal auf und sind dann nicht mehr ansprechbar.
Mußte sie immer kurz vom Stromnetz trennen dann gings wieder einige Zeit.

Plugs welche bei „Product Type“ ein 003 melden funktionieren gut. - bis auf das das sie IPS regelmäßig als defekt markiert. Stört aber nicht weiter.

Hi bbernhard,

Bisher habe ich die Geräte erst einige Tage im Betrieb, noch ist alles unauffällig. Ich werde es jedoch beobachten. Ein Bekannter hatte mit den Geräten ähnliche Probleme, dort haben wir es allerdings auf eine fehlgeschlagene Kopplung und die Firmware des USB-Sticks geschoben…

Gruß Bernd

Gesendet von meinem SM-G973F mit Tapatalk

Hi,

ich hatte mir gerade nochmal das Handbuch angesehen, dort wird explizit auf Security bzw. Security S2 eingegangen. Allerdings sehe ich bei einer Status-Abfrage im Debug dass der Secure-Modus anscheinend übersprungen wird?


02.01.2020, 20:40:49 | (S) RequestInfoNodeSecure | 98 02 
02.01.2020, 20:40:50 |                FIXUP | Skipping Secure. Inclusion must have been insecure.

Kann das ggf. zu Problemen führen?

Bei den Messwerten ist mir zudem aufgefallen, dass die Meter (0) Variable für die kWh immer zwischen normalen und extremen Werten hin und herspringt:
2020-01-02 20_43_25-Ansicht.png

Gruß Bernd

nas-wr01z.S2.SmartPlug.Manual.pdf (801 KB)

Laut der Doku gibt es auch nur zwei Gruppen. Das mit dem Meter könnte ein Fehler sein. Spannend. Magst du mal einen Debug mitschnitt machen und dazu noch einen Screenshot vom Archiv? Dann kann ich die METER Datenpakete mal zerlegen und schauen, warum das nicht klappt.

Welche METER Version wird in der Klassenübersicht angezeigt?

paresy

Hi paresy,

in der beiliegenden Anleitung waren noch 3 Assoziations-Gruppen, anscheinend mussten noch die Restbestände der alten Handbücher weg :smiley:

Hier der Screenshot der kWh-Werte:
2020-01-02 21_54_51-Variable editieren.png

Dump ist angehangen.

Gruß Bernd

dump.txt (5.44 KB)

Das scheint leider ein Fehler im Gerät zu sein. Hier das Z-Wave Protokoll (Kapitel 3.7.5) bei der Dekodierung: https://www.silabs.com/documents/login/miscellaneous/SDS13781-Z-Wave-Application-Command-Class-Specification.pdf

Die Datenpakete:


HEX: 02.01.2020, 21:42:41 | (R) Class (32): METER | 02 21 44 [b]80 00 00 71[/b] 01 2D 80 00 00 70 
HEX: 02.01.2020, 21:52:41 | (R) Class (32): METER | 02 21 44 [b]00 00 00 74[/b] 01 2D 00 00 00 73 

Das Fettgedruckte sind die 4 Bytes mit den Daten. Man sieht die 0x00 und die 0x80 im MSB. Dadurch kommt das Minus zustande… welches nicht wirklich passt…

Du müsstest also eher mal eine Mail an der Hersteller schicken, ob die da ggf. eine neue Firmware haben und dir das Gerät „neu“ flashen.

paresy

Hi paresy,

Danke für die Überstunden zu nächtlicher Zeit!
Ich versuche mal was über den Hersteller herauszubekommen und halte euch hier auf dem Laufenden.

Gruß Bernd

Notfalls musst du eine Variable zwischenschalten, die die negativen Werte filtert und nur die korrekten in die Variable schreibt.

paresy

Hier mal ein Skript das bei den „neuen“ Power-Plugs eine zweite Variable für die kWh anlegt…


<?php
	$sender = IPS_GetName($_IPS['SELF']);
	$ZWaveConfigurators = IPS_GetInstanceListByModuleID("{2D7CA355-2C51-4430-8F67-4E397EAAEA19}");
	 
	foreach ($ZWaveConfigurators as $ZWaveConfigurator) {
		$NodeList = ZW_GetKnownDevices($ZWaveConfigurator);
		foreach ($NodeList as $Node) {
			if (!$Node['InstanceID']) continue;
			$NodeInformation = json_decode(ZW_GetInformation($Node["InstanceID"]),true);
			if ($NodeInformation['ManufacturerID'] == "0258" AND $NodeInformation['ProductType'] == "0200" AND $NodeInformation['ProductID'] == "1027") {
				$message = "Found device " . IPS_GetName($Node['InstanceID']) . "
";
				
				// create fixed variable with ident Meter0VariableFixed
				$FixedVarID = @IPS_GetObjectIDByIdent("Meter0VariableFixed", $Node['InstanceID']);
				if ($FixedVarID) {
					$message = $message . "    found fixed variable
";
				} else {
					$FixedVarID = IPS_CreateVariable(2);
					IPS_SetIdent($FixedVarID, "Meter0VariableFixed");
					IPS_SetName($FixedVarID, "Meter (0), Elektro, kWh (korrigiert)");
					IPS_SetPosition($FixedVarID, 5000);
					IPS_SetVariableCustomProfile($FixedVarID, "~Electricity");
					IPS_SetParent($FixedVarID, $Node['InstanceID']);
					$message = $message . "    created fixed variable
";
				}
				
				// create event
				$EventID = @IPS_GetEventIDByName("fix MSP-error", $FixedVarID);
				if ($EventID) {
					$message = $message . "    found event for fixed variable
";
				} else {
					$Meter0VarID = IPS_GetObjectIDByIdent("Meter0Variable", $Node['InstanceID']);
					$EventID = IPS_CreateEvent(0);
					IPS_SetName($EventID, "fix MSP-error");
					IPS_SetEventTrigger($EventID, 0, $Meter0VarID);
					IPS_SetParent($EventID, $FixedVarID);
					IPS_SetEventScript($EventID, "\$value = \$_IPS['VALUE'];
\$offset = 21474836.48;
\$target = \$_IPS['TARGET'];
if (\$value < 0) {
	\$value += \$offset;
}
SetValueFloat(\$target, \$value);");
					IPS_SetEventActive($EventID, true);
					$message = $message . "    created event for fixed variable
";
				}
				IPS_LogMessage($sender, $message);
			}
		}
	}

?>