rdmtc / node-red-contrib-ccu

Node-RED Nodes for the Homematic CCU
https://flows.nodered.org/node/node-red-contrib-ccu
MIT License
71 stars 13 forks source link

Switch Node that offers comfortable selection of cached CCU Values #15

Closed Hypnos3 closed 6 years ago

Hypnos3 commented 6 years ago

Hallo, mal eine längere Erklärung, warum ich denke das diese Erweiterung sinvoll wäre (vielleicht gibt es auch einfach einen anderen Ansatz).

Wenn ich die Programme ähnlich der CCU aufbaue, starten die Flows mit Aktualisierung oder Änderung von Eingangs states. Diese triggern den Flow. In den CCU Programmen gibt es noch die Möglichkeit dann den Programmablauf auf Basis "nur prüfen" zu beeinflussen.

Das kann ich kompliziert machen, indem ich mir die "nur prüfen" stati persistiere und dann über einen Switch Node den Nachrichtenfluss beeinflusse.

Jetzt habe ich gesehen, das ich das gar nicht benötige, da im globalen context der stati aller Geräte bereits persistiert ist: image

Das kann ich auch direkt auswerten: image

Mich stört jetzt hier nur der sperrige Ausdruck ccu-localhost.values['BidCos-RF.LEQ0000815:1.STATE'].value

Hier wäre eine "valueSwitch" node schön, welche wie eine switch node ist, bei der die Auswahl-Felder so wie aus der value node vorhanden sind:

image

Das stelle ich mal zur Diskussion.

hobbyquaker commented 6 years ago

Gute Idee, so ein Switch Node werde ich bauen. Eine evtl. mögliche andere Vorgehensweise wäre den Combine If Node zu nutzen, das hat imho den Vorteil das die Visualisierung des Flows klarer ersichtlich ist, ist aber denke ich Geschmackssache.

PS.: Ich würde es bevorzugen wenn wir im RedMatic Issue Tracker bleiben, dann haben wir alles Zentral an einem Platz. Bin noch am überlegen ob den Issue Tracker hier einfach abschalt. -> bin immer noch unschlüssig wie wir das am besten Handhaben. Gegen Issues hier könnte sprechen dass Sie evtl für RedMatic User interessant sind und dann übersehen werden. Gegen eine Abschaltung spricht dass es durchaus auch node-red-contrib-ccu User gibt die mit RedMatic gar nichts am Hut haben.

hobbyquaker commented 6 years ago

So, habs mal schnell implementiert, steckt in node-red-contrib-ccu v1.2.0. Eine weitere Neuerung gibts im Config Node, dort kann man nun den Context Store auswählen in dem der Cache abgelegt wird. Der Switch Node funktioniert übrigens unabhängig vom Context, der holt sich die Werte jetzt direkt aus dem CCU Connection Node, d.h. dem ist es egal ob bzw in welchem Context Store man die Werte hat.

Hypnos3 commented 6 years ago

Super! Danke

Hypnos3 commented 6 years ago

Folgendes ist mir aufgefallen:

Ich habe öfters, das beim Öffnen der Einstellungen der node die DropDown Box für das Interface ausgegraut ist und fest auf ReGaHss steht, obwohl da was anderes konfiguriert ist: image Das geht auch nicht weg, wenn man 10s wartet. Wenn man das Fenster mit Cancel schließt und die Einstellungen wieder öffnet, passt alles: image Das tritt meist nach dem Tab Wechsel auf. Blöd ist es nur, wenn man dann mit "Done" anstelle mit "Cancel" die Einstellungen schließt. Dann ist alles weg.

Eine Kleinigkeit die mir noch ausgefallen ist, ist das er bei dem switch node unter "Channel" den Namen und die ID anzeigt: image

Das war bei den value Nodes auch mal so. Mittlerweile wird da nur noch die ID angezeigt: image

Das ist kein Problem und ist mir nur aufgefallen.

hobbyquaker commented 6 years ago

@Hypnos3 tritt das Verhalten bei Dir mit der aktuellen Version noch auf?

Hypnos3 commented 6 years ago

Das mit der ausgegrauten interface box tritt noch auf, aber dann ist sie leer. Tritt jetzt auch nur noch auf, wenn keine Verbindung besteht (Notebook hat WLAN verloren).

Von mir aus ist das so ok.