Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. On-Funktion: Brauche Hilfe

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.1k

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.1k

On-Funktion: Brauche Hilfe

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
6 Beiträge 3 Kommentatoren 1.6k 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.
  • S Offline
    S Offline
    Strizz
    schrieb am zuletzt editiert von
    #1

    Hallo,

    es ist ein altes Thema. Ich habe jedoch auch nach langem Suchen hier keine Lösung für mich gefunden. Deshalb mal wieder eine Frage an die Experten:

    Ich habe den Adapter "Worx Landroid S 2017" von MeisterTR installiert. Dieser gibt mir in einem seiner Objekte den Status meines Rasenroboters ("Otto") an. Den Status kann ich mit dem Befehl

    activity = getState("landroid-s.0.mower.status").val;
    

    korrekt auslesen. Soweit so gut. Ich möchte nun bei bestimmten Statusmeldungen eine Pushover auf meine Handi bzw. (bei Diebstahl) einen Alarm auslösen. Dazu habe ich mir folgens Script gebastelt:

    //Programm wertet den Status des Objektes "landroid-s.0.mower.status" aus und sendet entsprechende Pushover-Mitteilung
    
    //var activity = getState("landroid-s.0.mower.status").val;
    
    var activity = ("landroid-s.0.mower.status");
    console.log(activity);
    
    function Meldung() {
       switch (activity) {
            case 0:  sendTo('pushover.1', 'Otto ist zu Hause und ruht');
            break;
            case 1: sendTo('pushover.1', 'Otto ist zu Hause');
            break;
            case 2:  sendTo('pushover.1', 'Otto startet');
            break;
            case 3:  sendTo('pushover.1', 'Otto verlässt die Ladestation');
            break;
            case 4:  sendTo('pushover.1', 'Otto fährt am Draht entlang');
            break;
            case 5:  sendTo('pushover.1', 'Otto sucht sein Zuhause');
            break;
            case 6:  sendTo('pushover.1', 'Otto sucht den Draht');
            break;
            case 7:  sendTo('pushover.1', {message: 'Otto mäht',sound: 'spacealarm', priority: 1});
            break;
            case 8:  sendTo('pushover.1', 'Achtung! Otto wurde hochgehoben');
            break;
            case 9:  sendTo('pushover.1', 'Otto hat ein dickes Problem');
            break;
            case 10: sendTo('pushover.1', 'Otto: Mähwerk blockiert');
            break;
            case 11: sendTo('pushover.1', 'Debug');
            break;
            case 12: sendTo('pushover.1', 'Fernbedienung');
            break;
            default: sendTo('pushover.1', 'Der Empfangsstatus ist unbekannt');
            break;
        }}
    
    on(activity, Meldung()); 
    

    Die Zuweisung

    var activity = ("landroid-s.0.mower.status");
    

    scheint nicht korrekt zu sein. Denn ich erhalte nur eine Pushover mit der Meldung: "Der Empfangsstauts ist unbekannt". Der Programm funktioniert mit der Zeile

    activity = getState("landroid-s.0.mower.status").val;
    

    Allerdings nur einmal beim Start.

    Kann mit jemand auf die Sprünge helfen und zeigen wie die Zuweisung für activity korrekt aussehen muss? Alle meine Versuche, etwa

    var activity = ("landroid-s.0.mower.status").val;
    

    sind bisher gescheitert.

    Gruß

    Strizz

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      SchuetzeSchulz
      schrieb am zuletzt editiert von
      #2

      Hallo,

      probier es mal so:

      //Programm wertet den Status des Objektes "landroid-s.0.mower.status" aus und sendet entsprechende Pushover-Mitteilung
      on({id: "landroid-s.0.mower.status"}, function(obj)						
      {
      	var activity = getState("landroid-s.0.mower.status").val;
      	switch(String(activity)) {
              case "0":  sendTo('pushover.1', 'Otto ist zu Hause und ruht');
              break;
              case "1": sendTo('pushover.1', 'Otto ist zu Hause');
              break;
              case "2":  sendTo('pushover.1', 'Otto startet');
              break;
              case "3":  sendTo('pushover.1', 'Otto verlässt die Ladestation');
              break;
              case "4":  sendTo('pushover.1', 'Otto fährt am Draht entlang');
              break;
              case "5":  sendTo('pushover.1', 'Otto sucht sein Zuhause');
              break;
              case "6":  sendTo('pushover.1', 'Otto sucht den Draht');
              break;
              case "7":  sendTo('pushover.1', {message: 'Otto mäht',sound: 'spacealarm', priority: 1});
              break;
              case "8":  sendTo('pushover.1', 'Achtung! Otto wurde hochgehoben');
              break;
              case "9":  sendTo('pushover.1', 'Otto hat ein dickes Problem');
              break;
              case "10": sendTo('pushover.1', 'Otto: Mähwerk blockiert');
              break;
              case "11": sendTo('pushover.1', 'Debug');
              break;
              case "12": sendTo('pushover.1', 'Fernbedienung');
              break;
              default: sendTo('pushover.1', 'Der Empfangsstatus ist unbekannt');
              break;
          }
      });
      
      
      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Strizz
        schrieb am zuletzt editiert von
        #3

        Danke für die schnelle Antwort. Habe eine Zeile geändert in

        on("landroid-s.0.mower.status", function(obj
        

        weil er mir sonst im Minutentakt die Pushover geschickt hat. Jetzt erhalte ich sie nur bei einer Änderung des Status.

        Noch mal besten Dank

        Strizz

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          SchuetzeSchulz
          schrieb am zuletzt editiert von
          #4

          Ach verdammt. Sorry, mein Fehler :)

          Aber super, wenn es jetzt funktioniert!

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

            ! ````
            //Programm wertet den Status des Objektes "landroid-s.0.mower.status" aus und sendet entsprechende Pushover-Mitteilung
            ! var idactivity = "landroid-s.0.mower.status";
            ! function Meldung(activity) {
            switch (activity) {
            case 0: sendTo('pushover.1', 'Otto ist zu Hause und ruht');
            break;
            case 1: sendTo('pushover.1', 'Otto ist zu Hause');
            break;
            case 2: sendTo('pushover.1', 'Otto startet');
            break;
            case 3: sendTo('pushover.1', 'Otto verlässt die Ladestation');
            break;
            case 4: sendTo('pushover.1', 'Otto fährt am Draht entlang');
            break;
            case 5: sendTo('pushover.1', 'Otto sucht sein Zuhause');
            break;
            case 6: sendTo('pushover.1', 'Otto sucht den Draht');
            break;
            case 7: sendTo('pushover.1', {message: 'Otto mäht',sound: 'spacealarm', priority: 1});
            break;
            case 8: sendTo('pushover.1', 'Achtung! Otto wurde hochgehoben');
            break;
            case 9: sendTo('pushover.1', 'Otto hat ein dickes Problem');
            break;
            case 10: sendTo('pushover.1', 'Otto: Mähwerk blockiert');
            break;
            case 11: sendTo('pushover.1', 'Debug');
            break;
            case 12: sendTo('pushover.1', 'Fernbedienung');
            break;
            default: sendTo('pushover.1', 'Der Empfangsstatus ist unbekannt');
            break;
            }
            }
            ! Meldung(getState(idactivity).val); // Script start

            on(idactivity, function(dp) { // Triggern bei Wertänderung
            Meldung(dp.state.val);
            });

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Strizz
              schrieb am zuletzt editiert von
              #6

              @paul23: Danke für die Korrektur. Sehe jetzt etwas klarer.

              Gruß

              Strizz

              1 Antwort Letzte Antwort
              0

              Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

              Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

              Mit deinem Input könnte dieser Beitrag noch besser werden 💗

              Registrieren Anmelden
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              447

              Online

              33.0k

              Benutzer

              83.6k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2026
              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