Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Triggern von Scripten

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
    886

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Triggern von Scripten

Scheduled Pinned Locked Moved Skripten / Logik
5 Posts 4 Posters 4.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    hmanfred
    wrote on last edited by
    #1

    Hallo zusammen,

    wenn in einem Script ein Trigger angegeben ist - bedeutet das, dass bei Erfüllung dieses Triggers das Script ausgeführt wird?

    Oder anders gefragt: kann ich die Zustandsänderung eines Objektes direkt als Trigger zum Start eines Scriptes benutzen?

    Hintergrund:

    Ich stelle gerade von CCU1 auf CCU2 um. Die beiden laufen derzeit parallel. Es gibt einige Systemvariablen, die Aktionen auslösen, die in beiden CCU's laufen sollen. Dazu möchte ich - bis die CCU1 ausrangiert wird - einige Systemvariablen von der CCU1 auf die CCU2 "spiegeln".

    Folgenden Script habe ich mir dazu im javascript-adapter geschrieben:

    var value1;
    
    console.log('script SV_Anwesend läuft');
    on({id: "hm-rega.0.41913"/*Anwesend*/, change: "ne"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      value1 = getState("hm-rega.0.41913").val;
    });
    setState("hm-rega.1.1881"/*Anwesend*/, value1, true);
    

    Das Script ist aktiv.

    Ich dachte, das Script läuft, sobald die SV Anwesend in der CCU1 (hm-rega.0) ihren Status ändert. Das tut es aber nicht.

    Wo mache ich einen (Denk)Fehler?

    1 Reply Last reply
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      wrote on last edited by
      #2

      Dein Script läuft schon es macht nur einfach nix. Die Log Meldung taucht nur auf wenn dein Script im Javascript adapter aktiviert wird und dann nicht mehr. Das gleiche gilt für dein setState am ende.

      Das was innerhalb deiner Subscription ist wird ausgeführt.

      Dein Script muss dann so aussehen:

      var value1;
      
      on({id: "hm-rega.0.41913"/*Anwesend*/, change: "ne"}, function (obj) {
        console.log('script SV_Anwesend läuft');
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        value1 = getState("hm-rega.0.41913").val;
        setState("hm-rega.1.1881"/*Anwesend*/, value1, true);
      });
      
      

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Reply Last reply
      0
      • H Offline
        H Offline
        hmanfred
        wrote on last edited by
        #3

        Danke!

        So langsam werden die Zusammenhänge klar. :D

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          Das kann man vereinfachen:

          on("hm-rega.0.41913", function (obj) {  
            setState("hm-rega.1.1881"/*Anwesend*/, obj.state.val, 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

          1 Reply Last reply
          0
          • P Offline
            P Offline
            pix
            wrote on last edited by
            #5

            Hallo zusammen,

            wenn ich die Skripte richtig lese, dann wird die Anwesenheit auf CCU2 auf true gesetzt, wenn sich die Anwesenheit auf CCU1 ändert. Also bei jeder Änderung, auch bei Änderung zu false.

            @hmanfred:

            CCU1 auf die CCU2 "spiegeln". `
            Laut iobroker.javascript-Github readme ist die einfachste Art, zwei States zu synchronisieren doch so (vom ersten zum zweiten State):

            on("hm-rega.0.41913"/*Anwesend*/, "hm-rega.1.1881"/*Anwesend*/);
            ````oder für mehr Übersichtlichkeit:
            

            var ccu1anwesenheit = "hm-rega.0.41913"/Anwesend/,
            ccu2anwesenheit = "hm-rega.1.1881"/Anwesend/;

            on(ccu1anwesenheit, ccu2anwesenheit);

            
            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 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            410

            Online

            32.6k

            Users

            82.1k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Home
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe