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. Variable aktualiesiert sich zuspät

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    994

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Variable aktualiesiert sich zuspät

Scheduled Pinned Locked Moved Skripten / Logik
5 Posts 3 Posters 585 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.
  • R Offline
    R Offline
    RedOne
    wrote on last edited by
    #1

    Hy Forum,

    ich bin gerade dabei meine Heizung zu Automatisieren das sie bei Anwesenheit angeschaltet wird und bei Abwesenheit aus.

    createState("javascript.0.Heizung.HeizungsAutomatik", false);
    createState("javascript.0.Heizung.HeizungsTemp", false);
    
    var Bewohner = "javascript.0.Bewohner";
    var getBewohner = getState(Bewohner).val;
    
    var setHeizungsTemp = "javascript.0.Heizung.HeizungsTemp";
    var wert = getState(setHeizungsTemp).val;
    
    function HeizungsAutomatik()
    {
        if (getBewohner === "Anwesend")
        {
            setState(setHeizungsTemp, 7);
            HeizungsGruppe(wert);    
        }
        else if (getBewohner === "Abwesend")
        {
            setState(setHeizungsTemp, 12);
            HeizungsGruppe(wert);        
        }
    }
    
    function HeizungsGruppe(wert)
    {
        setState("hm-rpc.0.KEQ0431868.4.SET_TEMPERATURE", wert);   
        setState("hm-rpc.0.KEQ0432078.4.SET_TEMPERATURE", wert);
        setState("hm-rpc.0.KEQ0509706.4.SET_TEMPERATURE", wert);
        setState("hm-rpc.0.OEQ0664841.4.SET_TEMPERATURE", wert);
        setState("hm-rpc.0.OEQ0665958.4.SET_TEMPERATURE", wert);
    }
    
    on(Bewohner, function(dp)
        {
            getBewohner = dp.state.val;
            HeizungsAutomatik();
    
        });
    
    

    nun zu meinem Problem wenn ich den Status ändere von Anwesend auf den Wert Abwesend gehen die Heizungen auf den Wert Anwesend und umgekehrt quasi die variable wert hängt ein Schritt hinten dran.

    Kann mir jemand ein tip geben woran es hängt??

    Gruß RedOne

    1 Reply Last reply
    0
    • R Offline
      R Offline
      RappiRN
      Most Active
      wrote on last edited by
      #2

      Mal davon ausgegangen, dass die Variable, von der du schreibst, auf der CCU ist, gibt es da eine Einstellung, wie oft Daten abgeglichen werden. Sieh mal in den Einstellungen von hm-rega bzw hm-rpc nach.

      Ich kann grad nicht nachsehen.

      Enrico

      1 Reply Last reply
      0
      • R Offline
        R Offline
        RedOne
        wrote on last edited by
        #3

        ne die Variabe bzw den Datenpunkt habe ich auf iobroker erstellt HeizungsTemp

        soweit funktioniert bisher auch alles nur so wie ich die HeizungsGruppe mit einbinde in mein Script hängt die variable wert einen schritt hinten dran

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

          Die Variable wert wird nur einmal bei Skriptstart initialisiert und nicht aktualisiert. Enthält der Datenpunkt mit der ID "javascript.0.Bewohner" tasächlich die Zeichenkette "Anwesend" bzw. "Abwesend" ? Dann könnte die Funktion HeizungsAutomatik() so aussehen:

          function HeizungsAutomatik() {
              if (getBewohner === "Anwesend") wert = 7;
              else wert = 12;
              setState(setHeizungsTemp, wert);
              HeizungsGruppe(wert);   
          }
          
          

          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
          • R Offline
            R Offline
            RedOne
            wrote on last edited by
            #5

            Danke paul53 wenn ich dich nicht hätte :D

            Es funktioniert.

            Und wenn ich es richtig verstanden habe muss ich den wert der variable gar nicht auslesen sondern nur setzen?

            vorher:

            var wert = getState(setHeizungsTemp).val;
            
            

            nachher:

            var wert;
            
            
            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

            643

            Online

            32.6k

            Users

            82.3k

            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