NEWS
[gelöst]Sonoff Bridge Code umwandeln True / False
-
Mir ist nicht ganz klar, wie Du die Codes im Vis bei den Widgets hinterlegen möchtest.
Erst würde ich auch noch mal was anderes prüfen: Offensichtlich sind die verwendeten Sensoren keine Sonoffs, denn die liefern nur einen Code, wenn sie geöffnet werden und merkwürdigerweise liefern sie bei mir einen Wert wenn A geöffnet wird und einen wenn B geöffnet wird, aber einen vollkommen anderen, wenn A und B gleichzeitig geöffnet werden. Die Frage ist also, ob die ausgegebenen Codes immer eindeutig das Öffnen und Schließen eines bestimmten Sensors anzeigt?
Die Bridge ist bei mir mit Tasmota 6.21 geflasht und die Ausgabe der Bridge kann man schön in der Konsole beobachten.
Und ich würde vielleicht ein Blockkly schreiben, dass jeden Code abfängt und in Abhängigkeit für die verschiedenen Fenster eine bool-Variable auf true oder false setzt. Die ist wahrscheinlich auch in Vis viel einfacher zu integrieren und hilft bei weiteren Abfragen, da sie von einem Blockly schon gesetzt wurde.
-
Also mein Widget sieht so aus
Dort stehen die Werte die für auf und zu in der Bridge ankommen.Hier :
Bei RFReceived_Data kommen die Werte an von den einzelnen Fenster kontakten.Nur leider speichert er nicht die einzelnen Werte.
Also sobald er ein neues Signal bekommt ist das nur Aktuell
-
Na ja, dann ist doch das Problem schon geklärt. Schreib Dir ein Blockly, das die Werte der Bridge abfängt und für einen Satz Datenpunkte Deiner Fenster jeweils true oder false setzt.
Mein Datenpunkt sieht so aus:
Statt Zeichenkette nimmst Du Logikwert.
Jetzt das Blockly
Dieses Blockly setzt den Datenpunkt auf true wenn die Bridge den Code des "Fenster Abstellraum Keller" empfangen hat. Du musst das natürlich nochmal mit false für den Code von "Fenster geschlossen" machen. Achte darauf, dass ich nicht den Wert der Bridge mit dem Code direkt, sondern mit einem Datenpunkt vergleiche. Bei mir stehen die Codes der Fenster in Datenpunkten, die ich im ioBroker dann benennen kann. Das erleichtert das Spiel mit den Codes und den Abfragen.
Jetzt ist in Deinem Datenpunkt immer der Status dieses Fensters, unabhängig davon von welchem Fenster die Bridge gerade einen Code empfangen hat. Dein Vis musst Du dann nur noch auf den neuen Datenpunkt verweisen lassen.
Dass die Bridge resp. der ioBroker die Werte nicht speichert ist ja klar. Die Bridge empfängt Werte, die Logik darum, was damit zu machen ist musst Du selber umsetzen.
Soweit verständlich?
Und zum Schluss noch meine Gegenfrage: Welche Sensoren verwendest Du, da sie beim Öffnen und Schließen Codes senden und wie viel haben die wo gekostet?
-
Hallo danke für die Hilfe
(Sorry bin noch ganz frisch auf dem gebiet , wie kann ich die Codes von den Sensoren datenpunkte zuweisen ?
Die Sensoren habe ich günstige gefunden , kann ich dir gerne einen Ebay link schicken kosten ungefähr pro stück 3,5 euro inklusive Batterie.
Grüße
-
Ok, also noch mehr Besipiel
Wir nehmen an, dass der Datenpunkt (zukünfig DP) als Logikwert definiert ist unter den Objekten des ioBroker (Du weißt wie das geht? sonst such mal nach "eigene Datenpunkte definieren").
Dann kommt das Beispiel für das Arbeitsfenster:
Wir nehmen an, dass "65EF3A" für offen, also wahr oder true steht
und "65EF33" für geschlossen, also unwahr oder false.
Das machst Du dann für jedes Fenster und jedes Fenster benötigt einen eigenen Datenpunkt. Im obigen Beispiel musst du natürlich "Abstellraum Keller Fenster" mit Deinem Datenpunkt für Arbeitszimmer ersetzen.
Fang mal an das Skript zu schreiben und stell es hier rein…
-
Sooo
Ich habe mal mein Script gemacht :
Mein Datenpunkt :
ist das soweit richtig ?
-
Zum Anlegen von Datenpunkten rate ich dir ganz dringend von Anfang an eine sehr systematische Struktur aufzubauen.
Man kann eigene Objekte unter javascript.0 anlegen. Unter jedem anderen bereits vorhandenen Objektbaum (z.B. vis.0) kann der zugehörige Adapter eigenständig Datenpunkte ändern. Man legt den Cursor auf javascript.0 und drückt oben auf das +, dann kann man neue Objekte erzeugen. Das geht wie bei Verzeichnissen bei Windows. Verwende niemals Umlaute und keine Leerzeichen in den Objektnamen.
Dran denken: die ID oder der Name des Objektes lassen sich nachträglich nicht mehr ändern. Das geht nur mit löschen und neu anlegen. Das ist lästig wenn man 20 Fenster angelegt hat und man dann auf den Gedanken kommt, den Raum dazu zu schreiben.
Ich fand es nicht gut, die eigenen Objekte unter javascript.0 anzulegen und habe mir einen eigenen Baum Eigene.Objekte angelegt. Darin gibt es dann 20 Unterverzeichnisse mit mehr als 300 Datenpunkten.
-
Soweit es den Datenpunkt "Badezimmer unten" gibt sollte das so funktionieren. Das vis dann auf "Badezimmer unten" verweisen lassen.
-
Bitte beachte meine Hinweise zum Anlegen von eigenen Datenpunkten. Dein Objekt "Badezimmer unten" liegt erkennbar in der Ansicht des Datenpunktes irgendwo im Hauptverzeichnis der Objekte. Erstelle Unterverzeichnisse, sonst findest du nix wieder oder suchst dir beim raussuchen der zukünftigen Datenpunkte im Blockly einen Wolf…
-
Lies mal das hier viewtopic.php?f=20&t=13217&p=139126&hil … en#p139126
-
Es genügt ein Trigger für den empfangenen Code. Prinzip:
value enthält als vordefinierte Variable den Wert des Triggerdatenpunktes = Sonoff-Code.
-
Ja das mit der Struktur werde ich noch machen erstmal zum Testen .
Aber er müsste mir dann ja bei den Objekten auch true oder false anzeigen , nur leider steht dort nix drin ?
-
ich habe es geschaft er zeigt jetzt true und false an
:)=
Vielen dank für die Hilfe
Wer die Fensterkontakte haben möchte einfach Privat anschreiben
-
Angelegte Variablen haben ja auch erst einen Inhalt wenn man sie befüllt.
Glückwunsch zur Umsetzung!
-
@kaka_1@web.de:ich habe es geschaft `
Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst]. -
@kaka_1@web.de:ich habe es geschaft er zeigt jetzt true und false an
:)=
Vielen dank für die Hilfe
Wer die Fensterkontakte haben möchte einfach Privat anschreiben
`
leider kann ich dir keine PN senden. Würdest du es mir hier verraten?
-
Bitte nach der Forum umstellung nochmal eine Pn schicken