Closed skyx3 closed 2 years ago
Steht der Konfig-Parameter "Send Reports From Endpoints" auf Enable
? Falls nicht, bitte anpassen.
Hier schreibt ein anderer User, dass er die Verknüpfungen löschen und dann wieder genau so hinzufügen musste, damit es geht: https://github.com/zwave-js/node-zwave-js/issues/4078#issuecomment-1013294044
Ja steht er, ändert leider nichts am Verhalten.
Hmm, im Log siehts für mich allerdings so aus, dass es nicht auf die Abfrage des Parameters geantwortet hat. Bin mir daher nicht sicher, ob das wirklich aktiv ist. Zumal die Reports definitiv nicht vom Endpoint kommen. Testweise mal auf Disable, abschicken, Enable, nochmal abschicken.
Meines Wissens gibt es für das Gerät eine Firmware v1.8 - finde aber keine Links. Ggf. mal beim Hersteller nachfragen, ob er dir die schicken kann?
Hatte ich auch schon versucht, ich schreibe mal den Hersteller an wegen der Firmware. Allerdings hatte das Relay in der alten Welt funktioniert (Zipato), also irgendwie sollte die aktuelle Firmware das schon auch drauf haben :-) Hab mal in die alten Einstellungen geschaut, aber so wirklich anders sehen die Verknüpfungen da auch nicht aus.
Es besteht die Möglichkeit dass die alte Software gepollt hat. Das wäre auch noch ein möglicher workaround, per Skript bei Änderungen des current Value die werte der endpoints abzufragen.
OK also es ist so wie Du Anfangs vermutet hast, der Parameter "Send Reports From Endpoints" wird nicht gesetzt. Ich habe noch ein weiteres PAN06, allerdings mit einer älteren Firmware, der 1.13, wenn ich hier den Parameter aktiviere funktioniert es wie gewünscht und wenn ich ihn deaktiviere zeigt es genau das negative Verhalten von den anderen PAN06 mit Firmware 1.6. Ach menno, das es an der Firmware liegt ist natürlich immer die blödeste Variante :-)
1.13 ist neuer als 1.6, da 13 > 6 :) Aber gut zu wissen, dass der auf 1.6 nicht existiert, dann kam der bestimmt erst wie die anderen Parameter mit 1.8 dazu.
Der Hersteller stellt sich leider tod, kann man nichts machen.
Dann wohl doch selbst pollen.
Das geht? Wie geht das? :-)
Sag mir mal die genaue ID von den states die es betrifft.
@AlCalzone Das wäre
zwave.0 node 13
zwave.1 node 32
zwave.2 node 42
Ich meinte die State-IDs, aber gut... Probier mal folgendes Skript:
const pollSetup = [
{
instance: 0,
nodeId: 13,
endpoints: [1, 2, 3],
commandClass: "Binary Switch",
},
{
instance: 1,
nodeId: 32,
endpoints: [1, 2, 3],
commandClass: "Binary Switch",
},
{
instance: 1,
nodeId: 47,
endpoints: [1, 2, 3],
commandClass: "Binary Switch",
},
{
instance: 2,
nodeId: 42,
endpoints: [1, 2, 3],
commandClass: "Binary Switch",
},
];
for (const { instance, nodeId, endpoints, commandClass } of pollSetup) {
const nodeNr = nodeId.toString().padStart(3, "0");
// Wenn der Sammel-State sich ändert, die einzelnen Channel abfragen
on(`zwave2.${instance}.Node_${nodeNr}.Binary_Switch.currentValue`, (obj) => {
// Ignore updates from the cache
if (obj.state.q !== 0) return;
// Alle angegebenen Endpunkte abfragen
for (const endpoint of endpoints) {
sendTo(`zwave2.${instance}`, "sendCommand", {
nodeId,
endpoint,
commandClass,
command: "get",
});
}
});
}
Sorry für die späte Rückmeldung, war beruflich auf Reisen, also habe es jetzt mal probiert und bekomme den Fehler
Bei der Gelegenheit, hier die hoffentlich richtigen IDs
zwave.0 node 13 zwave2.0.Node_013.Binary_Switch.currentValue_001 zwave2.0.Node_013.Binary_Switch.currentValue_002
zwave.1 node 32 zwave2.1.Node_032.Binary_Switch.currentValue_001 zwave2.1.Node_032.Binary_Switch.currentValue_002
zwave.2 node 42 zwave2.2.Node_042.Binary_Switch.currentValue_001 zwave2.2.Node_042.Binary_Switch.currentValue_002
Ich hatte noch ein Gerät vergessen:
zwave.1 node 32 zwave2.1.Node_047.Binary_Switch.currentValue_001 zwave2.1.Node_047.Binary_Switch.currentValue_002
Ich bekomme das Skript leider nicht zum laufen. Falls Du den "Fehler" findest, würde ich mich freuen.
@skyx3 Skript angepasst. Ich hatte in den Definitionen in pollSetup
2x node
statt nodeId
geschrieben.
Node 47 ist jetzt auch drin.
Danke, funktioniert super.
Versionen:
Was ist das Problem?
Beim drücken des manuelle Schalters geht das Licht an und aus, der veränderte Status wird aber nicht im Controller am richtigen Endpunkt angezeigt. Schalte ich es via Zwave Adapter funktioniert es. Wenn ich den Schalter bediene, sollte entweder currentValue_001 oder currentValue_002 auf True springen, machen sie allerdings nicht. Stattdessen springt currentValue (Endpunkt 0?) kurz auf true, das allerdings für beide Endpunkte, so das diese Wert nicht verwendet werden kann.
Eventuell liegt es daran das unter Verknüpfungen die Endpunkte keiner Gruppe zugeordnet werden können und daher nicht korrekt übertragen werden?:
Welches Gerät ist betroffen?
manufacturerId
: 316productType
: 1productId
: 19firmwareVersions
: 1.6Logfile eines Interviews: zwavejs_2022-03-18.log
09:37 - Interview 09:40 - Endpunkt 1 - via Zwave Adapter an und ausgeschaltet -> Funktioniert, wird auch korrekt angezeigt 09:41 - Endpunkt 1 - Am Wandschalter an+ausgeschaltet -> Wird nicht übertragen