Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Geht das überhaupt mit iobroker??

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Geht das überhaupt mit iobroker??

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
16 Beiträge 2 Kommentatoren 1.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    dos1973
    schrieb am zuletzt editiert von
    #7

    :oops:

    ?? kann dir nicht folgen

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      dos1973
      schrieb am zuletzt editiert von
      #8

      Ich möchte nicht anzweifeln, dass ich nicht alles richtig bedenke/ beschreibe …

      javascript.0.lmair.marker.04

      wird von aussen geschaltet - das zeigt den wirklichen Status an

      javascript.0.lmair.szenenr.04

      Ist auf mein Vis Button gemappt.

      wenn dieser Status sich verändert

      javascript.0.lmair.marker.04

      dann soll dieser Status den Wert annehmen

      javascript.0.lmair.szenenr.04

      und dabei aber dann keine Befehle

      http://192.168.10.71/control?key=xx

      ausführen, das soll nur passieren dmit der VIS Button in der Oberfläche eben als "ein" angezeigt wird (oder aus, was eben vom Marker kommt)

      Der weg soll sein

      LM->javascript.0.lmair.marker.04 -> javascript.0.lmair.szenenr.04 -> VIS Buttun ändern nur Darstellung, keine Aktion

      Aus IOBroker

      VISButton -> javascript.0.lmair.szenenr.04 - http://192.168.10.71/control?key=xx ( ab hier übernimmt der LM die Funktion licht ein und Visualisierung der Schaltzustände

      *Edit

      diese beiden müssen synchron sein,

      javascript.0.lmair.marker.04

      javascript.0.lmair.szenenr.04

      ausgehen nur von javascript.0.lmair.marker.04 , der gibt den zustand vor.

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #9

        @dos1973:

        Der weg soll sein

        LM->javascript.0.lmair.marker.04 -> javascript.0.lmair.szenenr.04 -> VIS Buttun ändern nur Darstellung, keine Aktion

        Aus IOBroker

        VISButton -> javascript.0.lmair.szenenr.04 - http://192.168.10.71/control?key=xx ( ab hier übernimmt der LM die Funktion licht ein und Visualisierung der Schaltzustände `
        Genau das macht das Skript in meinem ersten Post (mit Szene 01). Du musst also nur in den ersten zwei Zeilen .01 –> .04 ändern.

        EDIT: Und vermutlich den Key für aus und ein anpassen, z.B. (die richtigen Werte kenne ich nicht)

           var key = '12'; // aus
           if(dp.state.val) key = '11'; //ein
        
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          dos1973
          schrieb am zuletzt editiert von
          #10

          ich probiere das morgen Abend sofort aus…

          und poste dann wieder.

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            dos1973
            schrieb am zuletzt editiert von
            #11

            klappt zum Teil,

            ich kann über den VIS Button Lampen ein und ausschalten.

            • Der Schalter zeigt ON an

            • Durch die ausgeführte Szene zeigt auch der Lightmanager ON an

            Abschalten der gleiche weg - funktioniert.

            Was geht nicht.

            Beispiel: ich schalte via VIS das Licht ein, alle Visualisierung sind gesetzt.

            = beide DP haben den gleichen Wert (TRUE)

            const idVis = 'javascript.0.lmair.szenenr.xx';

            const idMarker = 'javascript.0.lmair.marker.x'

            jezt schalte das Licht am <u>Lightmanager</u> aus - und das bekommt Vis nicht mehr mit.

            jetzt steht "const idMarker = 'javascript.0.lmair.marker.x" auf "FALSE" weil Lampe aus

            der DP

            const idVis = 'javascript.0.lmair.szenenr.xx'; steht weiterhin auf TRUE

            hier fehlt ein Sync der beiden Werte und immer nur ausgehend aus Richtung des DP "javascript.0.lmair.marker.x""

            wie bereits gesagt, wenn auf diese Art der DP umgesetzt wird, dann darf nicht der Szenenaufruf kommen (http://192.168.10.71/control?key=xx)

            da sonst eine Dauerschleife aufkommt …

            ich hoffe es ist einigermaßen verständlich 😉

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #12

              Poste bitte das Skript, so wie Du es jetzt verwendest.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                dos1973
                schrieb am zuletzt editiert von
                #13
                const idVis = 'javascript.0.lmair.szenenr.03'; // ID des Datenpunktes, der auf Vis reagiert (false/true)
                const idMarker = 'javascript.0.lmair.marker.03';
                const request = require('request');
                const url = 'http://192.168.10.71/control?key=';
                const js = 'system.adapter.javascript.' + instance;
                
                on({id: idVis, change: 'ne', fromNe: js}, function(dp) { // Triggern bei Wertänderung durch Vis
                   var key = '5'; // aus
                   if(dp.state.val) key = '4'; //ein
                   request(url + key, function(error, response, body) {
                      if(error) log('Fehler Request Steckdose', 'error');
                   });
                });
                

                noch ein Hinweis - eine Szene und eine Marker haben keine 1:1 Beziehung.

                d.h ich kann in einer Szene z.b 1 Lampe schalte und x Marker ein/auschalten. oder auch mixen, zB 3 marker ein/ und 3 marker aus…

                daher ist es mir wichtig die Szenen via "lmair.szenenr" auszulösen, Aber die VIS Darstellung der On/off zustände via "lmair.marker" abzubilden.

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #14

                  @dos1973:

                  hier fehlt ein Sync der beiden Werte `
                  Ja, der fehlt immer noch, obwohl ich geschrieben habe
                  @paul53:

                  In dem Skript fehlt der Trigger auf idMarker (unten in meinem Skript). `
                  Richtig:

                  const idVis = 'javascript.0.lmair.szenenr.03'; // ID des Datenpunktes, der auf Vis reagiert (false/true)
                  const idMarker = 'javascript.0.lmair.marker.03';
                  const request = require('request');
                  const url = 'http://192.168.10.71/control?key=';
                  const js = 'system.adapter.javascript.' + instance;
                  
                  on(idMarker, function(dp) { // Triggern bei Wertänderung
                     setState(idVis, dp.state.val, true);
                  });
                  
                  on({id: idVis, change: 'ne', fromNe: js}, function(dp) { // Triggern bei Wertänderung durch Vis
                     var key = '5'; // aus
                     if(dp.state.val) key = '4'; //ein
                     request(url + key, function(error, response, body) {
                        if(error) log('Fehler Request Steckdose', 'error');
                     });
                  });
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    dos1973
                    schrieb am zuletzt editiert von
                    #15

                    ach du Schande, ich habe ja das halbe Script vergessen… war das schon die ganze Zeit da :lol:

                    Aber hey, es sieht gut aus... ich muss zugeben, es sieht sehr sehr gut aus. :mrgreen:

                    ich konnte jetzt in meinen ersten Tests keinen Fehler finden. ich habe sogar, mit einer Szene mehrer Lampen und Marker aktualisiert.

                    auch der auf LM einschalten und auf Vis abschalten hat funktioniert.(das synchrone

                    ich muss jetzt die nächsten Tage mal etwas komplexere Szenen einbinden.

                    Am Wochenende werde ich leider nicht dazu kommen, aber ich gebe auf jedenfalls nochmals Feedback, spät. Anfang nächster Woche.

                    Bis hierher erstmal ein Riesen Dankeschön, habe um ehrlich zu sein nicht dran geglaubt... :oops:

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      dos1973
                      schrieb am zuletzt editiert von
                      #16

                      Hallo,

                      ich habe getestet und auch etwas verändert.

                      ich spare mir den DP: 'javascript.0.lmair.szenenr.01'

                      Fazit:bisher läuft gut

                      const idVis = 'javascript.0.lmair.marker.01'; // ID des Datenpunktes, der auf Vis reagiert (false/true)
                      const idMarker = 'javascript.0.lmair.marker.01';
                      const request = require('request');
                      const url = 'http://192.168.10.71/control?key=';
                      const js = 'system.adapter.javascript.' + instance;
                      
                      on({id: idVis, change: 'ne', fromNe: js}, function(dp) { // Triggern bei Wertänderung durch Vis
                         var key = '08'; // aus
                         if(dp.state.val) key = '07'; //ein
                         request(url + key, function(error, response, body) {
                            if(error) log('Fehler Request Steckdose', 'error');
                         });
                      });
                      

                      ich reagiere jetzt nur auf den Markerpunkt, für den VIS Button und die Visualisierung

                      const idVis = 'javascript.0.lmair.marker.01'; // ID des Datenpunktes, der auf Vis reagiert (false/true)
                      const idMarker = 'javascript.0.lmair.marker.01';
                      

                      das brauche ich nicht mehr (glaube ich)

                      /*on(idMarker, function(dp) { // Triggern bei Wertänderung
                         setState(idMarker, dp.state.val, true);
                      });*/
                      

                      MARKER HOL Script

                      Um den Lightmanager nicht unnötig zu belasten, gibt es denn die Möglichkeit, dass Script welches sich die Marker zustände holt nicht permanent laufe zu lassen, sondern nur wenn die VIS Button gedrückt werden, bzw. nur alle Minute etc.

                      Das Script holt sich alle Marker Daten

                      javascript.0.scriptEnabled.Lightmanager.params_json
                      

                      aktuell steht das im Script

                      // Start und Intervall:sekunden 
                      // --------------------------------------------------------------------------
                      setTimeout(DatenAuslesen, 1000);        // 
                      schedule('*/15 * * * * *', DatenAuslesen);  // 
                      

                      das scheint für den LM schon etwas viel, oder was bedeutet das - ich interpretiere 15 Sekunden. wenn es weniger wird, dann dauert es zu lange bis die buttons ihre status ändern.

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      665

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe