Türkontakt einrichten

  • Hallo,

    ich schreitere kläglich einen Fensterkontakt einzurichte.

    Ich habe Kontakte die jeweils einen Offen Status und jeweils einen Geschlossen status ausgeben.

    Sonoff Bridge und Kontakte.

    Mein Problem ist das Auswerten der Received_Data!!

    Wie kann ich im VIS dies machen das das Fenster reagiert auf den jeweiligen Status. Bei einem Fesnterkontakt funktioniert es bei mehrenen nicht mehr.

    Kann ich irgendwie den status aus Received_Data "E4600E" und"E4600A" umbenennen?

    Mit dem Blockly schaffe ich es nicht oder mache da was falsch.

    Es zeigt mir nichts in "Objekte" an.

    Vielen Dank

  • wie in dem anderen fred schon versucht zu beschreiben.

    es macht keinen unterschied ob deinbroker einen hex bekommt, oder eine ilse. der inhalt könnte auch toilettenpapier heißen. eine etwaige information muss abgefangen werden um sie dann zu verarbeiten. selbst der trigger ist dafür irrelevant.

    mit objekte meinst du die datenpunkte, true?

    in welchem dp steht denn die information, die du mit blockly abfangen oder in der vis darstellen möchtest?

    für die vis benötigst du ggf noch eine hilfsvariable/dp

  • Ich glaube ich verstehe was dein Problem ist. Du beziehst dich immer auf den Datenpunk des Skripts. Dieser wird automatisch erstellt wenn du ein neues Skript erstellst. Und er ist immer true wenn das Skript läuft. Diesen Datenpunkt kann man auch Steuern.

    Als Beispiel: ich habe eine Schaltzeituhruhr für einen Steckdose für Weihnachtsbeleuchtung, dieses Skript schalte ich mit einem anderen Skript am ersten Advent an und am 6. Januar aus.

    Wenn du von irgendwas einen Datenpunkt haben möchtest von dem es nichts gibt, musst du diesen erstellen.

    Du erstellst einen Datenpunkt als Logikwert, dann schreibst du ein Skript wo du den Hex Wert verarbeitest.

    Falls Hex Wert gleich offen mache Erstellten Datenpunk auf true (oder false, was du möchtest) und Falls Hex Wert gleich zu mache erstellten Datenpunkt auf das Gegenteil von dem was du bei offen hast.

  • Nichts musst du eintragen, nur den den Namen den du dafür haben möchtest. Ein Logikwert kann nur wahr oder falsch sein, als 1 oder 0 sein und das gibst du mit dem Skript, was du schreiben musst, vor.

  • Hallo nochmal sorry bis jetzt habe ich alle immer geschafft aber mit dem Datenpunkt usw. komme ich einfach nicht klar.

    Ich habe das Blockly gemacht mit folgendem Inhalt.

    Dann gehe ich im IOroker unter "Objekte" auf das Feld "Javascipt0 und gehe auf das Zeiche + Neuen Datenopunkt anlegen.

    Hier gebe ich einen Namen ein und DAtenpunkt und Logikwert.

    Wie weiss dann er was er machen soll? DAs verstehe ich leide

    r nicht

  • Mit deinem Skript schickst du ja bislang nur Telegramme. Also der erstellte Datenpunkt taucht dort nirgends auf, also kann der Datenpunkt auch nichts machen.

    In meinem ersten Beitrag heute habe ich geschrieben was du tun musst.

  • folgende lösung oder besser vorschlag:


    den dp würde ich unter 0_userdata.0 anlegen

    erst einen dp mit einem namen als "unterordner" und danach erneut auf das + um einen logikwert anzulegen

    namen sind schall und rauch und können relativ frei vergeben werden, umlaute und sonderzeichen sind meist zu unterlassen.

    nennen wir ihn mal "kinderzimmerfenster_offen"

    diesen dp lässt du durch ein blockly füllen, wie in deinem beispiel

    allerdings schickst du keine telegram, sondern änderst den dp

    ==> wenn rfreceived = e4600e dann steuere datenpunkt mit "wahr"

    dann sieht es programmiertechnisch schöner aus, wenn du mit einem sonst falls arbeitest

    ==> sonst falls rfreceived = e4600a dann steuere datenpunkt mit "falsch"

    ist das erledigt, liegt in deinem dp: kinderzimmerfenster_offen der aktuelle status

    mit einem weiteren blockly kannst du nun weitere aktionen anstoßen oder falls du weißt wie, selbstverständlich auch in der selben schleife ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!