Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. JoergC66

    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

    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 4
    • Best 0
    • Groups 0

    JoergC66

    @JoergC66

    0
    Reputation
    12
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    JoergC66 Follow

    Latest posts made by JoergC66

    • RE: Doppeltes ausführen einer Funktion

      Ah ja, ich verstehe …. ein bischen 😢

      Vielen Dank für die Erklärung.

      Doch dieses Problem verfolgt mich:

      on({id: "hm-rpc.0.KEQ0111275.2.PRESS_SHORT"/*HM-RC-X KEQ0111275:2.PRESS_SHORT*/}, function (obj) {	//Taste auf Fernbedienung
          if(obj.state.val)
              Alarmanlage_an();
      });
      
      function Alarmanlage_an(){
          if (!getState("hm-rpc.0.KEQ0030837.1.STATE").val){		//Wenn Fensterkontakt "zu"
              setState("hm-rega.0.1587"/*Alarmanlage*/, "1");		//Systemvariable der CCU auf 1 = Scharf
          }     
      }
      
      on({id: "hm-rega.0.1587"/*Alarmanlage*/, change: "1"}, function (obj) {	//Wenn Alarmanlage scharf
           if(obj.state.val){
              request("http://192.168.2.144:50000/track=Die_Alarmanlage_ist_an.mp3");	//Tablet soll ansage mache- geht aber nur eine Zeitlang, dann bleibt alles stumm
              sendTo("telegram", "send", {
                  text: (String('Alarmanlage ist ') + String((obj.state ? obj.state.val : "") ? 'an' : 'aus'))
              });
           }
        });
      

      Das log-File sieht dann so aus:

      20:32:06.546	[info]	javascript.0 script.js.Telegram.Alarmanlage: getState(id=hm-rpc.0.KEQ0030837.1.STATE, timerId=0) => {"val":false,"ack":true,"ts":1517048026193,"q":0,"from":"system.adapter.hm-rpc.0","lc":1517048026193}
      20:32:06.548	[warn]	javascript.0 at Alarmanlage_an (script.js.Telegram.Alarmanlage:25:9)
      20:32:06.548	[warn]	javascript.0 at Object. (script.js.Telegram.Alarmanlage:15:9)
      20:32:06.548	[info]	javascript.0 script.js.Telegram.Alarmanlage: setForeignState(id=hm-rega.0.1587, state="1")
      20:32:06.548	[info]	javascript.0 script.js.Telegram.Alarmanlage: In dieser Funktion die Alarmanlage anschalten.
      20:32:06.565	[info]	javascript.0 script.js.Telegram.Alarmanlage: sendTo(adapter=telegram, cmd=send, msg={"text":"Alarmanlage ist an"})
      20:32:17.746	[info]	javascript.0 script.js.Telegram.Alarmanlage: sendTo(adapter=telegram, cmd=send, msg={"text":"Alarmanlage ist an"})
      

      Die Warnungen beziehen sich auf die Zeile mit dem "setState …"

      Also wieder diese blöde doppelte Ausführung. Heulsmiley

      Was mache ich denn nun wieder falsch?

      Gruß Jörg

      posted in Skripten / Logik
      J
      JoergC66
    • RE: Doppeltes ausführen einer Funktion

      Erstmal vielen Dank für eure Mühen!!

      @pix Das hatte ich schon probiert, brachte keine Änderung.

      Die Antwort von blauholsten funktioniert.

      @blauholsten Was genau passiert da und warum ist das nötig?

      posted in Skripten / Logik
      J
      JoergC66
    • RE: Doppeltes ausführen einer Funktion

      Das ist nur eine Variable, die ich hier im Beispiel vergessen habe zu löschen, sie diente der Fehlersuche, hat also keine Bedeutung.

      Was macht das : obj.state.val ??

      posted in Skripten / Logik
      J
      JoergC66
    • Doppeltes ausführen einer Funktion

      Hallo,

      ich weiß -denn ich habe schon viel gesucht 😄 -dieses Thema gab es schon, aber keine angebotene Lösung hat funktioniert.

      Folgendes ganz simples Programm wird zweimal abgearbeitet, wenn ich mit dem Messenger "Telegram" einen Virtuellen Button der CCU drücke.

      on({id: 'hm-rpc.0.BidCoS-RF.4.PRESS_SHORT'}, function (obj) {
              console.log("Antasten= " + antasten);
        });
      

      in der Konsole steht dann:

      22:16:51.137 [info] javascript.0 script.js.Telegram.Alarmanlage: Antasten= true

      22:16:51.197 [info] javascript.0 script.js.Telegram.Alarmanlage: Antasten= true

      Alles was ich Netz gefunden habe z.B {id: 'hm-rpc.0.BidCoS-RF.4.PRESS_SHORT', change: "false"} habe ich erfolglos probiert.

      Wäre echt nett, wenn hier jemand nem alten Mann aufs Pferdchen helfen könnte 🙂

      Danke dafür und Gruß Jörg

      posted in Skripten / Logik
      J
      JoergC66
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo