Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. (Gelöst) Bitte um Hilfe bei der Fehlersuche

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    (Gelöst) Bitte um Hilfe bei der Fehlersuche

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      gerald123 last edited by 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);
        }
      });
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @gerald123 last edited by 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 1 Reply Last reply Reply Quote 0
        • G
          gerald123 @paul53 last edited by

          @paul53 Super danke, so funktioniert es jetzt.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          925
          Online

          31.9k
          Users

          80.2k
          Topics

          1.3m
          Posts

          2
          3
          153
          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