[Modul] Entkoppler

Moin Zusammen.
Heute ist ein Großer Tag für mich, ich habe mein erstes Modul als Beta eingestellt. :fire:
Es ist ein kleines Feines Modul um sich mit der Entwicklung vertraut zu machen.
Ich hoffe er kann für denn einen oder anderen als Problemlöser dienen.
Modul ist jetzt auch im Stable ganz normal im Store zu Finden :slight_smile:
Da es noch eine Beta ist, bitte im Store genau nach Entkoppler suchen. Die Instanz heißt auch Entkoppler.
Grundgedanke:
Man hat etliche Variablen im System. Man nutzt meistens die Status Variablen direkt von den Geräten.
Man loggt diese, man benutzt diese in Visu´s und man benutzt sie hier und da in Scripten, Automationen und sonst wo. Dann kommt der Tag an dem man das Gerät austauscht oder es defekt ist.
Dann geht es los mit dem Gesuche, wo wird die oder die Variable genutzt. Ach ja das Archiv muss dann auch noch Transferiert werden…
Oder man bekommt ab und zu unsinnige Werte von einem Gerät. Statt 1000W was das Gerät maximal messen kann kommt einmal zwischendurch so ein Wert 845746378276. Wenn das dann irgendwann auffällt dann muss man das Archiv von sowas bereinigen und man muss auch eventuelle Abhängigkeiten entsprechend bereinigen.
Ich fange gerade an immer mehr Werte zu Entkoppeln. Geht natürlich mit Boardmitteln. Entkoppelte Variable erstellen und Profil auswählen geht schnell.
Dann Ereignis->Ausgelöst Variable auswählen. Wert Übernehmen auswählen. Dann bei weitere Bedingungen 2 Hinzufügen entsprechenden min und max werten. Hmm dann noch eventuell ein Invertieren…
Das ist mir Zuviel Geklicke :slight_smile:
Deswegen der Entkoppler.
Quellvariable auswählen.
Das Modul übernimmt den Typ und das Profil und erzeugt eine „Entkoppelte“ Variable.
Man kann einen Unteren und Oberen Filterwert setzen und wenn man möchten die Entkoppelte Variable Invertieren. Funktioniert mit Int, float und bool. Bei bool wird aber das Filtern nicht genutzt.
Durch eine Checkbox kann man die Variable schützen. Sprich wenn man dann die Quellvariable im nachhinein ändert, bleibt die Komplete entkoppelte Variable unverändert. Auch wenn die Quelle ein anderes Profil hat. Sogar der Wechsel von int zu float und float zu int geht ohne Probleme.
Somit ist es einfach eine Quelle zu ändern und die Entkoppelte Variable bleibt in allen Orten wo sie gebraucht wird inkl. des ursprünglichen Profils.

Über produktive Kritik und Anregungen würde ich mich freuen. Bitte beachtet es ist mein erstes Mal!

Aktuelle Roadmap:

  • Filter für erlaubte Schrittweiten → IN DER AKUTELLEN BETA

    1. Für Zählerwerte
    2. Einstellbare maximale Wertänderung pro Variablenänderung
  • Zählerüberlauf

    1. Das Ziel kennt nur eine Richtung
    2. Im Prinzip wird immer das Delta draufgezählt.
    3. Wechsel von einem Höheren letzten Wert auf einem nächsten Niedrigeren Wert wird entsprechend berücksichtigt
  • Bestimmte Werte Ignorieren → IN DER AKUTELLEN BETA

    1. Es kann ein oder mehrere Werte angegeben werden die einfach ignoriert werden
  • Ziel Typ im Entkoppler vorab definierbar

    1. Nur von Float zu Int und Int zu Float

Gruß
Dennis

8 „Gefällt mir“

Klingt wie eine sehr gute Idee. Hatte genau diese Fälle auch schon öfter.

1 „Gefällt mir“

Respekt, das gehört in die Kategorie „Warum zzr Hölle bin ich nicht auf diese idee gekommen“.

Schaue ich mir an, sage aber schonmal danke

3 „Gefällt mir“

Vielen Dank für die lieben Worte. :blush:

Würde sagen die richtige Kategorie wäre: „Warum zur Hölle ist sowas noch immer nicht native integriert“ Seit Jahren haben haben wir immer wieder das Thema der Datenbereiningung vorm speichern.

Super Initiative.
Bernhard

1 „Gefällt mir“

Super Idee, was hab ich schon geflucht bei solchen Änderungen. Hätte auch schon direkt eine Idee für eine Erweiterung: mehrere Quellvariablen angeben deren Werte addiert werden. Könnte ich gut für die ganzen Stromzähler gebrauchen.

Viele Grüße
Stephan

1 „Gefällt mir“

Das gibt es doch von Symcon schon:

Michael

Das ist richtig, trägt aber nicht gerade zur Übersichtlichkeit bei wenn man an jeder Ecke ein anderes Modul verwendet.

Viele Grüße
Stephan

1 „Gefällt mir“

Das ist ja mal richtig geil :heart_eyes:

1 „Gefällt mir“

Die Idee ist genial. Was passiert mit der Aktion? Hast du eine direkte GIT URL? Würde gerne mal einen Blick in den Quellcode werfen?

1 „Gefällt mir“

Ja mit mehreren Variablen habe ich auch schon paar Ideen…

Was meinst du mit der Action?
Klar schau hier GitHub - BlackOrca/Decoupler: Map and Filter a Variable to a new Variable

Die Richtung Symcon/Webinterface zu Gerät. Also das Schalten der Lampe zum Beispiel.

Den Quellcode schaue ich mir die Tage an. Jetzt ist zu spät.

1 „Gefällt mir“

Achso, alles klar. Aktuell ist es nur für Status Variablen gedacht. Sprich nur Anzeige der quellvariable.

Gruß Dennis

Hallo Denis,

super cooles Modul!!!

Ich hätte da noch eine kleine Anmerkung zu den Filtern.
Da es vorkommen kann, dass Werte (z.B.: ds18b20 Sensoren), durch was auch immer, Ausreißer haben, sollte der Filter zusätzlich eine prozentuale Abweichung zum Vorwert berücksichtigen können, bzw. die Definition eines maximalen Deltawertes berücksichtigen.

Werde das Modul auf jeden Fall einsetzen!

Gruß gbabel

Moin gbabel,
Danke für die Idee. Ich werde das auf jeden Fall berücksichtigen in den nächsten Updates.
Erstmal warte ich noch auf Rückmeldungen ob noch was hakt und werde dann das Modul in Stable Releasen und dann geht es los mit den Features :slight_smile:

Gruß
BlackOrca

gibts da auch was für Zählervariablen die immer höher werden und vom normalen Rytmus (z.b 0,1 0,2 0,3 0,4 … 0,8) abweichen ?

So ähnlich wie die Prozentuale Abweichung wie im vorletzten Post

Wäre denn sichergestellt das z. B. 0.1, 0.2, 0.6574, das es dann auch mit 0.3 weiter geht?
Oder was wäre der nächste gültige wert?

Gruß BlackOrca

Ja ist der Stromzähler

Kurz reingeschmissen.
Modul ist durch das Symcon Review durch und ist jetzt im Stable Branch ganz einfach im Store zu finden.

Gruß
BlackOrca

1 „Gefällt mir“