Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Briefkasten Anzeige VIS mit Xiaomi Tür-Magnetkontakt

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Briefkasten Anzeige VIS mit Xiaomi Tür-Magnetkontakt

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Misterbrot last edited by

      Hallo Zusammen,

      bin echt begeistert von dem Forum, hat mir in vielen Dingen schon super weitergeholfen.

      Aktuell sitze ich gerade an der Möglichkeit, eine Info in VIS anzeigen zu können, das etwas im Briefkasten liegt.

      Ich habe schon div. Sensoren von Xiaomi im Einsatz und habe mal einen Tür-Magnetkontakt in den Briefkastendeckel eingebaut. Die Idee ist, über diesen Kontakt die Info zu erhalten, das der Deckel geöffnet wurde (/wenn etwas eingeworfen wurde).

      Der Sensor wechselt ja zwischen true & false.

      Ich stehe jetzt nur auf dem Schlauch, wie ich mir das in VIS anzeigen lassen kann und wie ich den Status wieder manuel zurücksetzen kann. (Also z.B. ein Briefkastensymbol das sich rot färbt, sobald der Deckel einmal geöffnet wurde.)

      Es gibt ja schon div. Beiträge zu dem Thema…Hauptproblem ist, das ich ein absoluter Javaneuling bin...;-).... und da nicht wirklich weiter komme.

      Kann mir da einer helfen?

      1 Reply Last reply Reply Quote 0
      • F
        fuchs1978 last edited by

        
        on ({id: kontakt, change: 'any', val: true}, function (obj) {
        	setState(Icon,true);}
        });
        
        on ({id: rücksetzt_knopf, change: 'any', val: true}, function (obj) {
        	setState(Icon,false);}
        });
        

        So würde ich da ganz einfach mal rangehen. Rückstellen dann mit einem Knopf in der Visu? Wenn ja mit der id rücksetz_knopf verbinden. Das Icon dann mit der Sichtbarkeit Icon verknüpfen

        1 Reply Last reply Reply Quote 0
        • M
          Misterbrot last edited by

          Danke für die schnelle Antwort. Hab es jetzt mal wie folgt umgesetzt:

          on ({id: "mihome.0.devices.plug_1111.state"/*Socket plug*/, change: 'any', val: true}, function (obj) {
             setState("javascript.0.scriptEnabled.Briefkasten.Icon"/*scriptEnabled.Briefkasten.Icon*/,true);}
          });
          
          on ({id: "javascript.0.scriptEnabled.Briefkasten.Reset"/*scriptEnabled.Briefkasten.Reset*/, change: 'any', val: true}, function (obj) {
             setState("javascript.0.scriptEnabled.Briefkasten.Icon"/*scriptEnabled.Briefkasten.Icon*/,false);}
          });
          

          Irgendwas scheint da noch nicht zu stimmen. Bekomme folgende Meldung:

          [error] javascript.0 script.js.Briefkasten.Briefkasten compile failed: SyntaxError: missing ) after argument list

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo,@Misterbrot:

            Javaneuling `
            ich bin auch Javaneuling. Hier spielen wir aber JavaScript. Ist was anderes. Bitte nicht falsch abkürzen.

            @Misterbrot:

            on ({id: "mihome.0.devices.plug_1111.state"/Socket plug/, change: 'any', val: true}, function (obj) {

            setState("javascript.0.scriptEnabled.Briefkasten.Icon"/scriptEnabled.Briefkasten.Icon/,true);}

            }); `
            Du schaltest bei Einwurf ein Skript ein. Soll das so sein?

            Normalerweise solltest du ein Skript anlegen, welches ein Objekt erstellt (hier Typ boolean). Das Objekt wird dann vom Briefkasten Sensor gesetzt und zB nach einiger Zeit zurückgesetzt.

            Wenn du allerdings die scriptEnabled Variable schaltest, wird das Skript an und aus geschaltet, nicht der Wert des Objektes.

            Was ist das für ein Sensor, schaltet der nur auf true? Setzt er sich selbst zurück auf false,w enn der Kasten leer ist? Musst du einen Knopf drücken um einen reset auszulösen?

            Schreib mal was dazu, vorher macht es keinen Sinn, ein Skript zu posten.

            Kannst du nicht einfach

            mihome.0.devices.plug_1111.state
            ````in VIS als OID verwenden?
            
            Gruß
            
            Pix
            1 Reply Last reply Reply Quote 0
            • Thisoft
              Thisoft last edited by

              Also die Fehlermeldung die du bekommst sagt ja schon dass da was mit den Klammern nicht stimmt. Allerdings ist es nicht so dass eine ")" fehlt sondern eine "}" zu viel ist - und zwar die in der jeweils mittleren Zeile hinter dem Semikolon.

              Ob du jetzt ein Script ein- und ausschaltest ist nicht ganz mit Sicherheit erkennbar, scheint aber so zu sein und ist natürlich wie pix schon sagt falsch.

              Du solltest erstmal ein eigenes Objekt anlegen was du dann schalten und zur Anzeige nutzen kannst, z.B. so:

              createState('javascript.0.Briefkasten.gefüllt', {type: 'boolean',def: false});
              

              als erste Zeile im Code.

              Schau mal ob du damit weiter kommst bzw. stell dann weitere Fragen.

              1 Reply Last reply Reply Quote 0
              • M
                Misterbrot last edited by

                Danke für eure Hilfe! Hab es soweit hinbekommen.

                Wird der Briefkasten geöffnet, wird ein Wert fest gesetzt. Über einen Taster kann man diesen dann Manuel wieder zurücksetzen.

                createState('javascript.0.Briefkasten.gefüllt', {type: 'boolean',def: false});
                on ({id: "mihome.0.devices.magnetkontakt.state"/*Socket plug*/, change: 'any', val: true}, function (obj) {
                   setState("javascript.0.Briefkasten.gefüllt"/*javascript.0.Briefkasten.gefüllt*/,true);}
                );
                
                on ({id: "javascript.0.scriptEnabled.Briefkasten.Reset"/*scriptEnabled.Briefkasten.Reset*/, change: 'any', val: true}, function (obj) {
                   setState("javascript.0.Briefkasten.gefüllt"/*javascript.0.Briefkasten.gefüllt*/,false);}
                );
                

                Danke nochmals!

                1 Reply Last reply Reply Quote 0
                • F
                  fuchs1978 last edited by

                  @Misterbrot:

                  Über einen Taster kann man diesen dann Manuel wieder zurücksetzen. `

                  Man könnte doch noch einen zweiten an das Schloss montieren 😉

                  1 Reply Last reply Reply Quote 0
                  • cvidal
                    cvidal Forum Testing last edited by

                    Vielleicht hast du auch einen kontakt an der haustür dann kannst du es auch mit "wenn Haustür offen und briefkasten offen" dann in Visu leer anzeigen und mit " Wenn Haustür zu und Briefkasten offen" dann halt in der Visu Voll ausgeben…

                    Gruß Christian

                    1 Reply Last reply Reply Quote 0
                    • M
                      Misterbrot last edited by

                      ah stimmt,gute Idee, das wäre natürlich noch viel besser. Hab noch nen Schalter liegen. Werde ich nachher gleich mal umsetzen! 😄

                      1 Reply Last reply Reply Quote 0
                      • F
                        fuchs1978 last edited by

                        Fotos bitte 😉

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        342
                        Online

                        31.6k
                        Users

                        79.5k
                        Topics

                        1.3m
                        Posts

                        5
                        10
                        2094
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo