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. Übersetzung true/false

NEWS

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

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

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

Übersetzung true/false

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 4 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.
  • 0 Offline
    0 Offline
    0018
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich bastele mir gerade eine Telegram Benachrichting zusammen, welche soweit funktioiert es auch besten.

    Jetzt möchte ich gerne meine Statusabfrage erweitern indem ich die Zustände true und false umschreibe auf "geöffnet" bzw "geschlossen"

    Leider fehlem mir hierzu die Grundlagen um dieses erfolgreich umzusetzen.

    Hier mein jetziger Code:

    // ###########################
        // Systeminformation sammeln 
    
    	var chatname = '[xxxx]';
    	var codemsg = "test";
    
    on("telegram.0.communicate.request", function (obj) {
       if  (obj.newState.val == chatname + codemsg || obj.newState.val == chatname + "/" + codemsg) {      
    
           // Rückmeldung Garagentor groß
            var rggid = "hm-rpc.0.LEQ0757490.1.STATE"/*Rückmeldung Garagentor groß.STATE*/;
            var rgg = getState(rggid).val;
    
           sendTo('telegram', 'Garage groß ' + rgg );
    
           setState("telegram.0.communicate.request","leer");
       }
    });
    
    

    Wie kann ich es am einfachsten umsetzen das ich geschlossen / geöffnet bekomme?

    Als Erweiterung würden dann noch weiter Zustandsabfragen hinzukommen, welche in der gleichen Nachricht gesendet werden sollen.

    Danke + gruß

    Mfg
    0018

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo,

      // ###########################
      // Systeminformation sammeln 
      var chatname = '[xxxx]';
      var codemsg = "test";
      var zustand = ['geschlossen', 'geöffnet']; // Array mit Zuständen (möglicherweise umgekehrt)
      
      on("telegram.0.communicate.request", function(obj) {
          if (obj.newState.val == chatname + codemsg || obj.newState.val == chatname + "/" + codemsg) {
      
              // Rückmeldung Garagentor groß
              var rggid = "hm-rpc.0.LEQ0757490.1.STATE" /*Rückmeldung Garagentor groß.STATE*/ ;
              var rgg = (getState(rggid).val ? 1 : 0); // Kurzschreibweise, wenn getState... true, dann 1, sonst 0
              // alternativ zur Zeile darüber geht auch: var rgg = Number(getState(rggid).val); // wandelt true in 1 und false in 0
              sendTo('telegram', 'Garage groß ' + zustand[rgg]); // Array-Position aufrufen: Position 0 (also false) "geschlossen", Pos 1 (true) "offen"
      
              setState("telegram.0.communicate.request", "leer");
          }
      });
      

      Wie im Code kommentiert.

      Du baust ein Array mit den Zuständen. Dann wandelst du mit einer IF-Abfrage (hier in Kurzform) true in 1 und false in 0 um. Kann auch andersherum sein.

      Hierzu gibt es alternativ auch den Befehl http://www.w3schools.com/jsref/jsref_number.asp. Er macht aus true eine 1 und aus false eine 0.

      Die Zahlen geben anschließend die Array Position an, an deren Stelle der passende Text für die Nachricht steht.

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • bahnuhrB Online
        bahnuhrB Online
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        Hallo,

        Hab ich schon gemacht mit Telegram.

        Ging ganz einfach mit replace.

        Z.B.

        vText = 'mustertest= ' + getState('abcdfd').val. // kommt "mustertest= false"

        vText = vText.replace(false, 'auf'). // false wird geändert in auf

        War für mich einfacher.

        Mit freundlichen Grüßen

        Dieter


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

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

          Vielen Dank für eure Hilfe, Script funktioniert wunderbar :D

          Jetzt weiß ich auch wie das mit den Arrays klappt.

          Werde mich wahrscheinlich für die Variante "Number" entscheiden, ist für mich am besten nachzuvollziehen.

          Mfg
          0018

          1 Antwort Letzte Antwort
          0
          • bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            Hauptsache es funktioniert.

            Mfg


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

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

              Wenn man die Zustandstexte im Datenpunkt hat (common.states) kann man sie mittels einer http://forum.iobroker.net/viewtopic.php?f=21&t=4199&p=41973s#p41973 erhalten und verwenden.

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

                Frage am Rande….

                macht es Sinn auch noch die Chat_ID mit einzubringen? Würde es das ganze etwas sicherer machen?

                Und wie müsste dann der Code aussehen?

                Probiere schon

                 sendTo('telegram.0', {text: 'Message to chat', chatId: 'SOME-CHAT-ID-123');
                

                einzubauen, klappt aber nicht so ganz

                Mfg
                0018

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

                  durch Zufall gefunden :

                  http://forum.iobroker.net/viewtopic.php … it=chat_ID

                  sendTo('telegram.0', {
                        text:   'Testnachricht empfangen.',
                        chatId: '227174xxx',
                        });
                  

                  gruß

                  Mfg
                  0018

                  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

                  797

                  Online

                  32.4k

                  Benutzer

                  81.6k

                  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