Skip to content
  • Home
  • 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

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [gelöst]Widget mit getrennter Statusvariable und Steuervar.

NEWS

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

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

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

[gelöst]Widget mit getrennter Statusvariable und Steuervar.

Geplant Angeheftet Gesperrt Verschoben Visualisierung
android app vis
26 Beiträge 2 Kommentatoren 2.3k Aufrufe 2 Watching
  • Ä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.
  • A AchimB

    Hallo ,
    Suche ein Widget das mir nach schalten mit einem Taster den aktuellen Ausgang signalisiert !
    Arbeite mit einer s7 300 und habe mir bis jetzt mit einem Widget zum schalten und einem zum signalisieren beholfen.
    man kann auch 2 Widgets übereinander legen und mit der Sichtbarkeit arbeiten aber es muss doch eine einfacherer Möglichkeit geben !
    Wäre sehr Dankbar für eure Unterstützung !!
    Gruß

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #6

    @AchimB sagte:

    nach schalten mit einem Taster den aktuellen Ausgang signalisiert !

    Folgt der Ausgang dem Wert des Tasters oder toggled der Taster den Ausgang ?

    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
    • A Offline
      A Offline
      AchimB
      schrieb am zuletzt editiert von
      #7

      @paul53
      Der Taster schaltet den Ausgang !

      paul53P 1 Antwort Letzte Antwort
      0
      • A AchimB

        @paul53
        Der Taster schaltet den Ausgang !

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #8

        @AchimB sagte:

        Der Taster schaltet den Ausgang !

        Das ist klar. Aber wie ? Taster false --> Ausgang false / Taster true --> Ausgang true ? Dann wäre der Taster kein Taster, sondern ein Schalter.

        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
        • A Offline
          A Offline
          AchimB
          schrieb am zuletzt editiert von
          #9

          Taster True => Ausgang => True beim nächsten Flankenwechsel Ausgang => False !

          Taste also immer mit "1" und erzeuge dann einen wechsel des Ausgangs !
          Habe Quasi einen Stromstoßschalter in S7 programmiert und übernehme nur die Werte !

          paul53P 1 Antwort Letzte Antwort
          0
          • A AchimB

            Taster True => Ausgang => True beim nächsten Flankenwechsel Ausgang => False !

            Taste also immer mit "1" und erzeuge dann einen wechsel des Ausgangs !
            Habe Quasi einen Stromstoßschalter in S7 programmiert und übernehme nur die Werte !

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #10

            @AchimB sagte:

            Taste also immer mit "1" und erzeuge dann einen wechsel des Ausgangs !

            Also toggled der Taster. Dann kann Alias nicht verwendet werden, sondern man muss den Datenpunkt für Vis per Skript verarbeiten.

            // IDs anpassen
            const idButton = 's7.0.DBs.DB1.NI02';
            const idActor = 's7.0.DBs.DB1.Q02';
             
            const js = 'system.adapter.javascript.' + instance;
            const common = getObject(idButton).common;
            const idVis = '0_userdata.0.s7-0.' + common.name.replace(/\s/g, '_'); // Anpassen !
             
            common.read = true;
            if(!existsState(idVis)) createState(idVis, getState(idActor).val, common);
             
            on({id: idVis, change: 'ne', fromNe: js}, function() {
                setState(idButton, true);
            });
             
            on(idActor, function(dp) {
                setState(idVis, dp.state.val, true);
            });
            

            Für die Verwendung des Skripts müssen nur die 3 IDs angepasst werden.

            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

            paul53P 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @AchimB sagte:

              Taste also immer mit "1" und erzeuge dann einen wechsel des Ausgangs !

              Also toggled der Taster. Dann kann Alias nicht verwendet werden, sondern man muss den Datenpunkt für Vis per Skript verarbeiten.

              // IDs anpassen
              const idButton = 's7.0.DBs.DB1.NI02';
              const idActor = 's7.0.DBs.DB1.Q02';
               
              const js = 'system.adapter.javascript.' + instance;
              const common = getObject(idButton).common;
              const idVis = '0_userdata.0.s7-0.' + common.name.replace(/\s/g, '_'); // Anpassen !
               
              common.read = true;
              if(!existsState(idVis)) createState(idVis, getState(idActor).val, common);
               
              on({id: idVis, change: 'ne', fromNe: js}, function() {
                  setState(idButton, true);
              });
               
              on(idActor, function(dp) {
                  setState(idVis, dp.state.val, true);
              });
              

              Für die Verwendung des Skripts müssen nur die 3 IDs angepasst werden.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #11

              @paul53 sagte:

              Dann kann Alias nicht verwendet werden

              Muss mich korrigieren, denn ich habe es gerade getestet. Es funktioniert auch mit Alias:

                  "alias": {
                        "id": {
                          "read": "knx.0.Wohnen.Licht.Esstisch_Status",
                          "write": "knx.0.Wohnen.Licht.Esstisch_Taster"
                        },
                        "write": "val ? true : true"
                      }
              

              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
              • A Offline
                A Offline
                AchimB
                schrieb am zuletzt editiert von
                #12

                @paul53
                Danke für deine Hilfe aber leider fehlt mir wohl noch einiges an Grundwissen !
                Wenn ich es halbwegs richtig verstanden habe soll ich einen Alias anlegen der aus Taster und Rückmeldung erzeugt wird und diesen dann als Objekt_ID ins Widget eintragen.
                Habe also einen Aussgang z.B. : s7.2.Outputs.8.7 und einen Eingang : s7.2.Markers.17.S7_Merker_15 so das ich den Alias mit dem Taster beschreiben kann und gleichzeitig den aktuellen Ausgang lesen kann !
                Ist das soweit richtig ?
                Wenn das soweit richtig ist frage ich mich nur wo ich das Script anlege bzw. wo ich den Alias erzeuge ? Im Widget selber unter Scripte oder muss ich ein separates Script erstellen in JS oder TS ?
                Und wie würde das dann komplett aussehen ?
                Habe bisher nur mit Blockly gearbeitet und da weiß ich das ich einen Datenpunkt erzeugen kann den ich nachher wieder abholen kann aber das ist für mich absolut neuland ! Deshalb verzeih meine dummen Fragen !
                Gruß

                paul53P 1 Antwort Letzte Antwort
                0
                • A AchimB

                  @paul53
                  Danke für deine Hilfe aber leider fehlt mir wohl noch einiges an Grundwissen !
                  Wenn ich es halbwegs richtig verstanden habe soll ich einen Alias anlegen der aus Taster und Rückmeldung erzeugt wird und diesen dann als Objekt_ID ins Widget eintragen.
                  Habe also einen Aussgang z.B. : s7.2.Outputs.8.7 und einen Eingang : s7.2.Markers.17.S7_Merker_15 so das ich den Alias mit dem Taster beschreiben kann und gleichzeitig den aktuellen Ausgang lesen kann !
                  Ist das soweit richtig ?
                  Wenn das soweit richtig ist frage ich mich nur wo ich das Script anlege bzw. wo ich den Alias erzeuge ? Im Widget selber unter Scripte oder muss ich ein separates Script erstellen in JS oder TS ?
                  Und wie würde das dann komplett aussehen ?
                  Habe bisher nur mit Blockly gearbeitet und da weiß ich das ich einen Datenpunkt erzeugen kann den ich nachher wieder abholen kann aber das ist für mich absolut neuland ! Deshalb verzeih meine dummen Fragen !
                  Gruß

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #13

                  @AchimB sagte:

                  soll ich einen Alias anlegen der aus Taster und Rückmeldung erzeugt wird und diesen dann als Objekt_ID ins Widget eintragen.

                  Ja.

                  @AchimB sagte in Widget mit getrennter Statusvariable und Steuervariable:

                  ein separates Script erstellen in JS

                  Ja, folgendes Javascript einmal ausführen, nachdem idAlias und nameAlias angepasst sind ('s7.2.Markers.17.S7_Merker_15' ist der Taster ?)

                  // Original-Datenpunkt
                  const idOrigin = 's7.2.Markers.17.S7_Merker_15'; 
                  // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                  // Bei Nicht-Verwendung Leerstring '' zuweisen
                  const idRead = 's7.2.Outputs.8.7';
                   
                  // Alias-Datenpunkt
                  const idAlias = 'Wohnen.Licht.Esstisch';
                  var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                  // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                  nameAlias = 'Lampe Esstisch';
                  desc = 'per Script erstellt';
                  // typeAlias = 'boolean'; // oder 'number'
                  // read = "val < 20 ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
                  write = "val ? true : true";
                  role = 'switch';
                  // min = 0; // nur Zahlen
                  // max = 100; // nur Zahlen
                  // unit = '%'; // nur für Zahlen
                  // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                  // custom = []; // verhindert doppelte Ausführung von history, ...
                  // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                  // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                  
                  function createAlias(idDst, idSrc, idRd) {
                     if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                     else {
                        var obj = {};
                        obj.type = 'state';
                        obj.common = getObject(idSrc).common;
                        obj.common.alias = {};
                        if(idRd) {
                            obj.common.alias.id = {};
                            obj.common.alias.id.read = idRd;
                            obj.common.alias.id.write = idSrc;
                            obj.common.read = true;
                        } else obj.common.alias.id = idSrc;
                        if(typeAlias) obj.common.type = typeAlias;
                        if(obj.common.read !== false && read) obj.common.alias.read = read;
                        if(obj.common.write !== false && write) obj.common.alias.write = write;
                        if(nameAlias) obj.common.name = nameAlias;
                        if(role) obj.common.role = role;
                        if(desc) obj.common.desc = desc;
                        if(min !== undefined) obj.common.min = min;
                        if(max !== undefined) obj.common.max = max;
                        if(unit) obj.common.unit = unit;
                        if(states) obj.common.states = states;
                        if(custom && obj.common.custom) obj.common.custom = custom;
                        obj.native = {};
                        setObject(idDst, obj);
                        if(raum && getObject('enum.rooms.' + raum)) {
                           let obj = getObject('enum.rooms.' + raum)
                           obj.common.members.push(idDst);
                           setObject('enum.rooms.' + raum, obj);
                        }
                        if(gewerk && getObject('enum.functions.' + gewerk)) {
                           let obj = getObject('enum.functions.' + gewerk)
                           obj.common.members.push(idDst);
                           setObject('enum.functions.' + gewerk, obj);
                        }
                     } 
                  }
                   
                  createAlias('alias.0.' + idAlias, idOrigin, idRead);
                  

                  Nach Anpassung von idOrigin, idRead, idAlias, nameAlias kann es für weitere Aliasse zu S7-Datenpunkten mit Taster/Status verwendet werden.

                  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

                  A 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @AchimB sagte:

                    soll ich einen Alias anlegen der aus Taster und Rückmeldung erzeugt wird und diesen dann als Objekt_ID ins Widget eintragen.

                    Ja.

                    @AchimB sagte in Widget mit getrennter Statusvariable und Steuervariable:

                    ein separates Script erstellen in JS

                    Ja, folgendes Javascript einmal ausführen, nachdem idAlias und nameAlias angepasst sind ('s7.2.Markers.17.S7_Merker_15' ist der Taster ?)

                    // Original-Datenpunkt
                    const idOrigin = 's7.2.Markers.17.S7_Merker_15'; 
                    // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt.
                    // Bei Nicht-Verwendung Leerstring '' zuweisen
                    const idRead = 's7.2.Outputs.8.7';
                     
                    // Alias-Datenpunkt
                    const idAlias = 'Wohnen.Licht.Esstisch';
                    var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                    // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                    nameAlias = 'Lampe Esstisch';
                    desc = 'per Script erstellt';
                    // typeAlias = 'boolean'; // oder 'number'
                    // read = "val < 20 ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
                    write = "val ? true : true";
                    role = 'switch';
                    // min = 0; // nur Zahlen
                    // max = 100; // nur Zahlen
                    // unit = '%'; // nur für Zahlen
                    // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein)
                    // custom = []; // verhindert doppelte Ausführung von history, ...
                    // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                    // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                    
                    function createAlias(idDst, idSrc, idRd) {
                       if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                       else {
                          var obj = {};
                          obj.type = 'state';
                          obj.common = getObject(idSrc).common;
                          obj.common.alias = {};
                          if(idRd) {
                              obj.common.alias.id = {};
                              obj.common.alias.id.read = idRd;
                              obj.common.alias.id.write = idSrc;
                              obj.common.read = true;
                          } else obj.common.alias.id = idSrc;
                          if(typeAlias) obj.common.type = typeAlias;
                          if(obj.common.read !== false && read) obj.common.alias.read = read;
                          if(obj.common.write !== false && write) obj.common.alias.write = write;
                          if(nameAlias) obj.common.name = nameAlias;
                          if(role) obj.common.role = role;
                          if(desc) obj.common.desc = desc;
                          if(min !== undefined) obj.common.min = min;
                          if(max !== undefined) obj.common.max = max;
                          if(unit) obj.common.unit = unit;
                          if(states) obj.common.states = states;
                          if(custom && obj.common.custom) obj.common.custom = custom;
                          obj.native = {};
                          setObject(idDst, obj);
                          if(raum && getObject('enum.rooms.' + raum)) {
                             let obj = getObject('enum.rooms.' + raum)
                             obj.common.members.push(idDst);
                             setObject('enum.rooms.' + raum, obj);
                          }
                          if(gewerk && getObject('enum.functions.' + gewerk)) {
                             let obj = getObject('enum.functions.' + gewerk)
                             obj.common.members.push(idDst);
                             setObject('enum.functions.' + gewerk, obj);
                          }
                       } 
                    }
                     
                    createAlias('alias.0.' + idAlias, idOrigin, idRead);
                    

                    Nach Anpassung von idOrigin, idRead, idAlias, nameAlias kann es für weitere Aliasse zu S7-Datenpunkten mit Taster/Status verwendet werden.

                    A Offline
                    A Offline
                    AchimB
                    schrieb am zuletzt editiert von
                    #14

                    @paul53 said in Widget mit getrennter Statusvariable und Steuervariable:

                    ('s7.2.Markers.17.S7_Merker_15' ist der Taster ?)

                    Ja korrekt !
                    Als idAlias habe ich dann einen Ordner aus Javascript.0
                    'Beleuchtung'
                    genommen und nameAlias einen freien Namen
                    'Lampe Büro'

                    funktioniert aber nicht !

                    18:02:34.768 error javascript.0 (23398) script.js.Licht.Licht_Büro: /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1913
                    18:02:34.771 error javascript.0 (23398) at createAlias (script.js.Licht.Licht_Büro:50:7)
                    18:02:34.772 error javascript.0 (23398) at script.js.Licht.Licht_Büro:64:1

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • A AchimB

                      @paul53 said in Widget mit getrennter Statusvariable und Steuervariable:

                      ('s7.2.Markers.17.S7_Merker_15' ist der Taster ?)

                      Ja korrekt !
                      Als idAlias habe ich dann einen Ordner aus Javascript.0
                      'Beleuchtung'
                      genommen und nameAlias einen freien Namen
                      'Lampe Büro'

                      funktioniert aber nicht !

                      18:02:34.768 error javascript.0 (23398) script.js.Licht.Licht_Büro: /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1913
                      18:02:34.771 error javascript.0 (23398) at createAlias (script.js.Licht.Licht_Büro:50:7)
                      18:02:34.772 error javascript.0 (23398) at script.js.Licht.Licht_Büro:64:1

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #15

                      @AchimB sagte:

                      Als idAlias habe ich dann einen Ordner aus Javascript.0 'Beleuchtung' genommen

                      Alias-Datenpunkte werden im Ordner "alias.0" erstellt, also z.B.

                      idAlias = 'Beleuchtung.Buero'; // Ordner: alias.0.Beleuchtung
                      

                      Was ist das für ein Skript "Licht.Licht_Büro" ?

                      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

                      A 2 Antworten Letzte Antwort
                      0
                      • paul53P paul53

                        @AchimB sagte:

                        Als idAlias habe ich dann einen Ordner aus Javascript.0 'Beleuchtung' genommen

                        Alias-Datenpunkte werden im Ordner "alias.0" erstellt, also z.B.

                        idAlias = 'Beleuchtung.Buero'; // Ordner: alias.0.Beleuchtung
                        

                        Was ist das für ein Skript "Licht.Licht_Büro" ?

                        A Offline
                        A Offline
                        AchimB
                        schrieb am zuletzt editiert von
                        #16

                        @paul53 said in Widget mit getrennter Statusvariable und Steuervariable:

                        Alias-Datenpunkte werden im Ordner "alias.0" erstellt, also z.B.
                        idAlias = 'Beleuchtung.Buero'; // Ordner: alias.0.Beleuchtung

                        Habe aber keinen Ordner : Alias.0

                        1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @AchimB sagte:

                          Als idAlias habe ich dann einen Ordner aus Javascript.0 'Beleuchtung' genommen

                          Alias-Datenpunkte werden im Ordner "alias.0" erstellt, also z.B.

                          idAlias = 'Beleuchtung.Buero'; // Ordner: alias.0.Beleuchtung
                          

                          Was ist das für ein Skript "Licht.Licht_Büro" ?

                          A Offline
                          A Offline
                          AchimB
                          schrieb am zuletzt editiert von
                          #17

                          @paul53 said in Widget mit getrennter Statusvariable und Steuervariable:

                          Was ist das für ein Skript "Licht.Licht_Büro" ?

                          Das ist das Script das ich angelegt habe !

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • A AchimB

                            @paul53 said in Widget mit getrennter Statusvariable und Steuervariable:

                            Was ist das für ein Skript "Licht.Licht_Büro" ?

                            Das ist das Script das ich angelegt habe !

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #18

                            @AchimB
                            Hast Du in den Einstellungen der Javascript-Instanz "setObject" freigegeben ?

                            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
                            • A Offline
                              A Offline
                              AchimB
                              schrieb am zuletzt editiert von
                              #19

                              Ja habe ich !

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • A AchimB

                                Ja habe ich !

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #20

                                @AchimB sagte:

                                Ja habe ich !

                                Dann wundert mich die Fehlermeldung

                                18:02:34.771 error javascript.0 (23398) at createAlias (script.js.Licht.Licht_Büro:50:7)
                                

                                Es ist Zeile 50 mit setObject() ?

                                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
                                • A Offline
                                  A Offline
                                  AchimB
                                  schrieb am zuletzt editiert von
                                  #21

                                  Habe in der Log Datei noch folgende Meldungen !
                                  javascript.0 2020-07-26 20:04:43.008 error (1360) at Script.runInContext (vm.js:133:20)
                                  javascript.0 2020-07-26 20:04:43.008 error (1360) at script.js.Licht.Licht_Büro:64:1
                                  javascript.0 2020-07-26 20:04:43.007 error (1360) at createAlias (script.js.Licht.Licht_Büro:50:7)
                                  javascript.0 2020-07-26 20:04:43.007 error (1360) at sandbox.setObject (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2801:25)
                                  javascript.0 2020-07-26 20:04:43.006 error (1360) at Adapter.setForeignObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1913:101)
                                  javascript.0 2020-07-26 20:04:43.006 error (1360) TypeError: obj.common.alias.id.startsWith is not a function
                                  javascript.0 2020-07-26 20:04:43.006 error (1360) ^
                                  javascript.0 2020-07-26 20:04:43.005 error (1360) if (obj && obj.common && obj.common.alias && obj.common.alias.id && obj.common.alias.id.startsWith(ALIAS_STARTS_WITH)) {
                                  javascript.0 2020-07-26 20:04:43.004 error (1360) script.js.Licht.Licht_Büro: /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1913

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • A AchimB

                                    Habe in der Log Datei noch folgende Meldungen !
                                    javascript.0 2020-07-26 20:04:43.008 error (1360) at Script.runInContext (vm.js:133:20)
                                    javascript.0 2020-07-26 20:04:43.008 error (1360) at script.js.Licht.Licht_Büro:64:1
                                    javascript.0 2020-07-26 20:04:43.007 error (1360) at createAlias (script.js.Licht.Licht_Büro:50:7)
                                    javascript.0 2020-07-26 20:04:43.007 error (1360) at sandbox.setObject (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2801:25)
                                    javascript.0 2020-07-26 20:04:43.006 error (1360) at Adapter.setForeignObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1913:101)
                                    javascript.0 2020-07-26 20:04:43.006 error (1360) TypeError: obj.common.alias.id.startsWith is not a function
                                    javascript.0 2020-07-26 20:04:43.006 error (1360) ^
                                    javascript.0 2020-07-26 20:04:43.005 error (1360) if (obj && obj.common && obj.common.alias && obj.common.alias.id && obj.common.alias.id.startsWith(ALIAS_STARTS_WITH)) {
                                    javascript.0 2020-07-26 20:04:43.004 error (1360) script.js.Licht.Licht_Büro: /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1913

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #22

                                    @AchimB sagte:

                                    noch folgende Meldungen !

                                    Das sind meist Folge-Meldungen von

                                    javascript.0 2020-07-26 20:04:43.007 error (1360) at createAlias (script.js.Licht.Licht_Büro:50:7)
                                    

                                    Welche Version haben der js-controller (Host) und der Javascript-Adapter ?

                                    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
                                    • A Offline
                                      A Offline
                                      AchimB
                                      schrieb am zuletzt editiert von
                                      #23

                                      js-controller 2.2.8
                                      Javascript 4.6.17

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • A AchimB

                                        js-controller 2.2.8
                                        Javascript 4.6.17

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von paul53
                                        #24

                                        @AchimB sagte:

                                        js-controller 2.2.8

                                        Das mit getrenntem Kommando und Status im Alias funktioniert erst ab js-controller 3.0 ! Siehe Doku

                                        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

                                        A 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @AchimB sagte:

                                          js-controller 2.2.8

                                          Das mit getrenntem Kommando und Status im Alias funktioniert erst ab js-controller 3.0 ! Siehe Doku

                                          A Offline
                                          A Offline
                                          AchimB
                                          schrieb am zuletzt editiert von
                                          #25

                                          @paul53 said in Widget mit getrennter Statusvariable und Steuervariable:

                                          Das mit getrenntem Kommando und Status im Alias funktioniert erst ab js-controller 3.0 ! Siehe Doku

                                          Sorry mein Fehler !
                                          Hab ein Update gemacht und Funktioniert !
                                          Man darf zwar nicht zu schnell hintereinander schalten dann kommt er nicht mehr hinterher aber ansonsten genau das was ich wollte !
                                          Vielen Dank für deine Geduld !!

                                          paul53P 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

                                          516

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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