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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. (Gelöst) Bitte um Hilfe bei der Fehlersuche

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    893

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

(Gelöst) Bitte um Hilfe bei der Fehlersuche

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 260 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.
  • G Offline
    G Offline
    gerald123
    schrieb am zuletzt editiert von gerald123
    #1

    Hallo,
    Ich benötige Hilfe bei der Fehlersuche in meinem JavaScript.
    Ich möchte mit dem Script die Betriebszustände meines Rasenmähers, die ich im Zahlencode bekomme, in Klartext in ein Objekt schreiben.
    Leider bekomme ich es nicht hin und benötige dabei Hilfe.
    Im Objekt "sonoff.0.Automower.State" bekomme ich die Betriebszustände im Zahlencode herein.
    Ich möchte dann in die Variable"javascript.0.scriptEnabled.common.Automower-State-Value" die Zustände in Klartext für die VIS bekommen.
    Leider funktioniert es so nicht und komme nicht dahinter was ich falsch mache.

    var State_akt;
    
    on({id: "sonoff.0.Automower.State", change:"ne"}, function (obj) {
      State_akt = getState( "sonoff.0.Automower.State").val;
      if (State_akt == 0) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mode Manual quittiert', true);
      } else if (State_akt == 1) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mode Auto quittiert', true);
      } else if (State_akt == 3) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mode HOME quittiert', true);
      } else if (State_akt == 6) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Radmotor blockiert', true);
      } else if (State_akt == 12) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Kein Schleifensignal', true);
      } else if (State_akt == 16) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Außerhalb', true);
      } else if (State_akt == 18) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Niedrige Batteriespannung', true);
      } else if (State_akt == 26) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Ladestation blockiert', true);
      } else if (State_akt == 34) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mäher gehoben', true);
      } else if (State_akt == 52) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Kein Kontakt zur LS', true);
      } else if (State_akt == 54) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Pin abgelaufen', true);
      } else if (State_akt == 1000) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'aus LS fahren', true);
      } else if (State_akt == 1002) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mähen', true);
      } else if (State_akt == 1006) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mähwerk start', true);
      } else if (State_akt == 1008) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mähwerk gestartet', true);
      } else if (State_akt == 1012) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Signal starte Mähwerk', true);
      } else if (State_akt == 1014) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Laden', true);
      } else if (State_akt == 1016) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'in LS wartend', true);
      } else if (State_akt == 1024) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'aus LS einfahren', true);
      } else if (State_akt == 1036) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Viereckmodus', true);
      } else if (State_akt == 1038) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Festgefahren', true);
      } else if (State_akt == 1040) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Kollision', true);
      } else if (State_akt == 1042) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Suchen', true);
      } else if (State_akt == 1044) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Stop', true);
      } else if (State_akt == 1048) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Andocken', true);
      } else if (State_akt == 1050) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'aus LS ausfahren', true);
      } else if (State_akt == 1052) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Fehler', true);
      } else if (State_akt == 1056) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Wartet Man./Home', true);
      } else if (State_akt == 1058) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Begrenzung folgen', true);
      } else if (State_akt == 1060) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'N-Signal gefunden', true);
      } else if (State_akt == 1062) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Festgefahren', true);
      } else if (State_akt == 1064) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Suchen', true);
      } else if (State_akt == 1066) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Fernverfolgungsproblem', true);
      } else if (State_akt == 1070) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Suchschleife folgen', true);
      } else if (State_akt == 1072) {
        setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Schleife folgen', true);
      }
    });
    

    Synology 918+ 4GB; ioBroker auf RPI4; Zigbee; Sonoff

    paul53P 1 Antwort Letzte Antwort
    0
    • G gerald123

      Hallo,
      Ich benötige Hilfe bei der Fehlersuche in meinem JavaScript.
      Ich möchte mit dem Script die Betriebszustände meines Rasenmähers, die ich im Zahlencode bekomme, in Klartext in ein Objekt schreiben.
      Leider bekomme ich es nicht hin und benötige dabei Hilfe.
      Im Objekt "sonoff.0.Automower.State" bekomme ich die Betriebszustände im Zahlencode herein.
      Ich möchte dann in die Variable"javascript.0.scriptEnabled.common.Automower-State-Value" die Zustände in Klartext für die VIS bekommen.
      Leider funktioniert es so nicht und komme nicht dahinter was ich falsch mache.

      var State_akt;
      
      on({id: "sonoff.0.Automower.State", change:"ne"}, function (obj) {
        State_akt = getState( "sonoff.0.Automower.State").val;
        if (State_akt == 0) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mode Manual quittiert', true);
        } else if (State_akt == 1) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mode Auto quittiert', true);
        } else if (State_akt == 3) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mode HOME quittiert', true);
        } else if (State_akt == 6) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Radmotor blockiert', true);
        } else if (State_akt == 12) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Kein Schleifensignal', true);
        } else if (State_akt == 16) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Außerhalb', true);
        } else if (State_akt == 18) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Niedrige Batteriespannung', true);
        } else if (State_akt == 26) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Ladestation blockiert', true);
        } else if (State_akt == 34) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mäher gehoben', true);
        } else if (State_akt == 52) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Kein Kontakt zur LS', true);
        } else if (State_akt == 54) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Pin abgelaufen', true);
        } else if (State_akt == 1000) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'aus LS fahren', true);
        } else if (State_akt == 1002) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mähen', true);
        } else if (State_akt == 1006) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mähwerk start', true);
        } else if (State_akt == 1008) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Mähwerk gestartet', true);
        } else if (State_akt == 1012) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Signal starte Mähwerk', true);
        } else if (State_akt == 1014) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Laden', true);
        } else if (State_akt == 1016) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'in LS wartend', true);
        } else if (State_akt == 1024) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'aus LS einfahren', true);
        } else if (State_akt == 1036) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Viereckmodus', true);
        } else if (State_akt == 1038) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Festgefahren', true);
        } else if (State_akt == 1040) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Kollision', true);
        } else if (State_akt == 1042) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Suchen', true);
        } else if (State_akt == 1044) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Stop', true);
        } else if (State_akt == 1048) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Andocken', true);
        } else if (State_akt == 1050) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'aus LS ausfahren', true);
        } else if (State_akt == 1052) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Fehler', true);
        } else if (State_akt == 1056) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Wartet Man./Home', true);
        } else if (State_akt == 1058) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Begrenzung folgen', true);
        } else if (State_akt == 1060) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'N-Signal gefunden', true);
        } else if (State_akt == 1062) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Festgefahren', true);
        } else if (State_akt == 1064) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Suchen', true);
        } else if (State_akt == 1066) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Fernverfolgungsproblem', true);
        } else if (State_akt == 1070) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Suchschleife folgen', true);
        } else if (State_akt == 1072) {
          setState("javascript.0.scriptEnabled.common.Automower-State-Value", 'Schleife folgen', true);
        }
      });
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @gerald123 sagte: "javascript.0.scriptEnabled.common.Automower-State-Value"

      Das enthält hoffentlich nicht den Namen des Scripts? Keine eigenen Datenpunkte unter "javascript.0.scriptEnabled" verwenden!!
      Erstelle besser einen Datenpunkt "0_userdata.0.Automower.State" oder so ähnlich. Um Ressourcen zu schonen, verwende eine Variable für den Text und schreibe die Variable zum Schluss in den Datenpunkt.

      on("sonoff.0.Automower.State", function(dp) {
        let txt = 'nicht definiert';
        if (dp.state.val == 0) txt = 'Mode Manual quittiert';
        else if (dp.state.val == 1) txt = 'Mode Auto quittiert';
        // usw.
        setState('0_userdata.0.Automower.State', txt, 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

      G 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @gerald123 sagte: "javascript.0.scriptEnabled.common.Automower-State-Value"

        Das enthält hoffentlich nicht den Namen des Scripts? Keine eigenen Datenpunkte unter "javascript.0.scriptEnabled" verwenden!!
        Erstelle besser einen Datenpunkt "0_userdata.0.Automower.State" oder so ähnlich. Um Ressourcen zu schonen, verwende eine Variable für den Text und schreibe die Variable zum Schluss in den Datenpunkt.

        on("sonoff.0.Automower.State", function(dp) {
          let txt = 'nicht definiert';
          if (dp.state.val == 0) txt = 'Mode Manual quittiert';
          else if (dp.state.val == 1) txt = 'Mode Auto quittiert';
          // usw.
          setState('0_userdata.0.Automower.State', txt, true);
        });
        
        G Offline
        G Offline
        gerald123
        schrieb am zuletzt editiert von
        #3

        @paul53 Super danke, so funktioniert es jetzt.

        Synology 918+ 4GB; ioBroker auf RPI4; Zigbee; Sonoff

        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

        612

        Online

        32.6k

        Benutzer

        82.1k

        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