Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      looxer01 last edited by

      Hi,

      was mir auffällt ist, dass es eine Meldung gibt, dass das Büro geschlossen ist aber das Fenster auf "offen"

      Hast du in VIS den Datenpunkt des Sensors eingetragen ?

      kannst du mir das Programm (Script) auch zusenden ?

      vG Looxer

      1 Reply Last reply Reply Quote 0
      • D
        dav71701 last edited by

        ja im VIS ab ich den Datenpunkt: mihome.0.devices.magnet_158d000xxxxx.state verwendet

        kann es sein das es Probleme macht, wenn das Skript den Xiaomi Sensor einmal als

        Sensor: mihome.0.devices.magnet_158d000xxxxx.state

        und als

        hm-rpc.1.CUX9001002.1.STATE Büro true

        findet, weil ich ja den Fensterzustand an die CCU zurückmelde?

        Habe mal ausprobiert den Wert auf

        SensorTypeTab[1] = ['hm-rpc.0.', 'HM-Sec-SC' , 'Fenstersensor (alt)' , 'HM', '1.STATE' , false, false, false ];

        zu setzen, was aber auch nicht funktioniert hat.

        ! 2018-09-30 12:36:36.877 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = hm-rpc.1.CUX9001002.1.STATE Raum = Büro
        ! 2018-09-30 12:36:36.877 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro
        ! 2018-09-30 12:36:36.880 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxx.state
        ! 2018-09-30 12:36:36.880 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxx.state Büro true
        ! 2018-09-30 12:36:36.881 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
        ! 2018-09-30 12:36:36.881 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
        ! 2018-09-30 12:36:36.882 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
        ! 2018-09-30 12:36:38.149 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = hm-rpc.1.CUX9001002.1.STATE Raum = Büro
        ! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = HM-Sec-SC und id hm-rpc.1.CUX9001002.1.STATE
        ! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster hm-rpc.1.CUX9001002.1.STATE status geaendert fuer hm-rpc.1.CUX9001002.1.STATE Büro true
        ! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
        ! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
        ! 2018-09-30 12:36:38.150 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
        4191_heizungsscript_20b03_b_ro.txt
        4191_view_20_b_ro_init.txt

        1 Reply Last reply Reply Quote 0
        • L
          looxer01 last edited by

          @dav71701:

          kann es sein das es Probleme macht, wenn das Skript den Xiaomi Sensor einmal als

          Sensor: mihome.0.devices.magnet_158d000xxxxx.state

          und als

          hm-rpc.1.CUX9001002.1.STATE Büro true `
          Ich habe mir deine Einstellungen angesehen. Sieht ok aus.

          Wie aber jetzt hm-rpc.1.CUX9001002.1.STATE ins Spiel kommt verstehe ich nicht. Automatisch finden dürfte das Script den nicht und eingestellt hast du den auch nicht.

          In der SensorTypeTab sind die Standard Homematic Geräte vordefiniert. Die Bedingungen zur Findung sind, dass

          • sie der vorgegebenen Instanz der RPC zugeordnet sind (z.B 0)

          • dass sie in den RAW Daten den Type enthalten z.B. HM-Sec-SC

          • dass sie dem Raum bzw einem Raum und dem Gewerk zugeordnet sind.

          ansonsten dürfte das Programm nichts finden. Manuell eingetragen hast du auch nichts

          :?:

          vG Looxer

          Ist mir rätselhaft.

          1 Reply Last reply Reply Quote 0
          • D
            dav71701 last edited by

            also m.E. kommt der Sensor hm-rpc.1.CUX9001002.1.STATE dadurch ins Spiel, weil dieser in der CCU ja als HM-Sec-SC simuliert wird.

            ![](</s><ATTACHMENT 4191_hm-sec-sc.jpg )[attachment=0]HM-Sec-SC.jpg[/attachment]" />

            1 Reply Last reply Reply Quote 0
            • L
              looxer01 last edited by

              aaah, ja dann ist es klar.

              Dann nimm doch den manuellen Datenpunkt raus. Sollte doch dann gehen

              1 Reply Last reply Reply Quote 0
              • D
                dav71701 last edited by

                leider nein, es wird erkannt aber die Temperatur nicht gesenkt….

                2018-09-30 13:31:36.956 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Ende Abarbeitung fuer Raum Büro

                2018-09-30 13:31:36.956 - info: javascript.0 script.js.common.Heizungssteuerung_Büro:

                2018-09-30 13:31:36.959 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run

                2018-09-30 13:31:36.962 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_last_Program_Run

                2018-09-30 13:32:06.065 - info: web.0 <==Disconnect system.user.admin from ::ffff:192.168.178.95 vis.0

                2018-09-30 13:32:06.811 - info: web.0 ==>Connected system.user.admin from ::ffff:192.168.178.95

                2018-09-30 13:32:23.720 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro

                2018-09-30 13:32:23.723 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxx.state

                2018-09-30 13:32:23.724 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxx.state Büro true

                2018-09-30 13:32:23.724 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro

                2018-09-30 13:32:23.724 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false

                2018-09-30 13:32:23.725 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true

                1 Reply Last reply Reply Quote 0
                • D
                  dav71701 last edited by

                  aber das schließen wird wieder korrekt erkannt…. :?

                  2018-09-30 13:39:32.966 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist false

                  2018-09-30 13:39:32.967 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices:Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt

                  2018-09-30 13:39:32.968 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa

                  2018-09-30 13:39:32.969 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 17 fuer Raum Büro Raumprofil ist 1

                  2018-09-30 13:39:32.969 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach Switchtime: 17 Findung Sa_00:00:00

                  2018-09-30 13:39:32.969 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach overrule: 17 Findung Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt

                  2018-09-30 13:39:32.970 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_Global_Parameter zu Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt

                  2018-09-30 13:39:32.971 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Schedule gelöscht für Büro

                  2018-09-30 13:39:32.971 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Schedule für nächste Planzeit 2 0 0 * * * für Raum Büro

                  2018-09-30 13:39:32.974 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Global_Parameter

                  20

                  1 Reply Last reply Reply Quote 0
                  • D
                    dav71701 last edited by

                    Workaround: Einfach die Absenktemperatur durch ein anderes Skript durchführen, nicht so schön, aber tut 🙂

                    ! 2018-09-30 14:31:36.226 - info: javascript.0 Start javascript script.js.common.Xiaomi_Fenstersensor_Büro3
                    ! 2018-09-30 14:31:36.235 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: registered 2 subscriptions and 0 schedules
                    ! 2018-09-30 14:31:54.746 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro
                    ! 2018-09-30 14:31:54.748 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxx.state
                    ! 2018-09-30 14:31:54.749 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxx.state Büro true
                    ! 2018-09-30 14:31:54.750 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
                    ! 2018-09-30 14:31:54.750 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
                    ! 2018-09-30 14:31:54.751 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? true
                    ! 2018-09-30 14:31:54.754 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist offen, Temperatur wurde abgesenkt
                    ! 2018-09-30 14:31:54.758 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Global_Parameter und Raum Büro
                    ! 2018-09-30 14:31:54.762 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: TriggerUpdate für Büro und manChange=false
                    ! 2018-09-30 14:31:54.766 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist offen, Temperatur wurde abgesenkt
                    ! 2018-09-30 14:31:55.765 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Starte Abarbeitung fuer Raum Büro
                    ! 2018-09-30 14:31:55.766 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist true
                    ! 2018-09-30 14:31:55.767 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopRooms Ende Abarbeitung fuer Raum Büro
                    ! 2018-09-30 14:31:55.767 - info: javascript.0 script.js.common.Heizungssteuerung_Büro:
                    ! 2018-09-30 14:31:55.767 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Heizungsscript verarbeitung Trigger für Raum Büro durchgelaufen
                    ! 2018-09-30 14:31:55.769 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run
                    ! 2018-09-30 14:31:55.771 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_last_Program_Run
                    ! 2018-09-30 14:31:57.761 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ThermostatChange: hm-rpc.0.OEQ2081886.4.SET_TEMPERATURE Raum Büro Manuelle Solltemperatur-Aenderung erkannt auf 10
                    ! 2018-09-30 14:32:58.536 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorFind ID = mihome.0.devices.magnet_158d000xxxxx.state Raum = Büro
                    ! 2018-09-30 14:32:58.536 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorStatCalc: Sensorstatus ist false fuer devtype = NoneHM und id mihome.0.devices.magnet_158d000xxxxx.state
                    ! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Fenster mihome.0.devices.magnet_158d000xxxxx.state status geaendert fuer mihome.0.devices.magnet_158d000xxxxx.state Büro false
                    ! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Raum Büro
                    ! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor ist direktverknuepft ? false
                    ! 2018-09-30 14:32:58.537 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SensorChange: Sensor status ist ? false
                    ! 2018-09-30 14:32:58.538 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine LoopDevices: Sensorstatus fuer raum Büro ist false
                    ! 2018-09-30 14:32:58.538 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
                    ! 2018-09-30 14:32:58.539 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 17 fuer Raum Büro Raumprofil ist 1
                    ! 2018-09-30 14:32:58.539 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
                    ! 2018-09-30 14:32:58.540 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktueller Zeitslot ist Sa_00:00:00 fuer RaumBüro Raumprofil ist 1
                    ! 2018-09-30 14:32:58.540 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
                    ! 2018-09-30 14:32:58.541 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
                    ! 2018-09-30 14:32:58.541 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Nächster Zeitslot ist Sa_08:00:00 fuer RaumBüro Raumprofil ist 1
                    ! 2018-09-30 14:32:58.541 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
                    ! 2018-09-30 14:32:58.542 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
                    ! 2018-09-30 14:32:58.542 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Nächste Solltemperatur ist 17 fuer RaumBüro Raumprofil ist 1
                    ! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechnete Current SollTemp ist 17
                    ! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechneter Current TimeSlot ist Sa_00:00:00
                    ! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechnete Next SollTemp ist 17
                    ! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine Manadj: errechneter Next Timeslot ist Sa_08:00:00
                    ! 2018-09-30 14:32:58.543 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ManAdjustments: Manuell Relevant?: true
                    ! 2018-09-30 14:32:58.544 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ManAdjustments: DelayTime fuer Raum Büro ist 0
                    ! 2018-09-30 14:32:58.544 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: aktuelle Millisekunden 1538310778000
                    ! 2018-09-30 14:32:58.544 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine DetermineSchedule: zu planender Tag ist = So Tag fuer den Schedule ist = Sa
                    ! 2018-09-30 14:32:58.545 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SelectSwitchTime - Aktuelle Solltemperatur ist 17 fuer Raum Büro Raumprofil ist 1
                    ! 2018-09-30 14:32:58.545 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach Switchtime: 17 Findung Sa_00:00:00
                    ! 2018-09-30 14:32:58.545 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ExecuteTempDetermination: raum BüroSolltemp nach overrule: 17 Findung Raum Büro jetzt geschlossen
                    ! 2018-09-30 14:32:58.546 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_Global_Parameter zu Raum Büro jetzt geschlossen
                    ! 2018-09-30 14:32:58.547 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Büro.Source_NextTemp zu 17
                    ! 2018-09-30 14:32:58.547 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine SetTemp: ID updated hm-rpc.0.OEQ2081886.4.SET_TEMPERATURE Raum Büro SollTemp = 17
                    ! 2018-09-30 14:32:58.547 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Schedule gelöscht für Büro
                    ! 2018-09-30 14:32:58.548 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Setze Schedule für nächste Planzeit 2 0 0 * * * für Raum Büro
                    ! 2018-09-30 14:32:58.551 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist geschlossen
                    ! 2018-09-30 14:32:58.556 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_Global_Parameter
                    ! 2018-09-30 14:32:58.557 - info: javascript.0 script.js.common.Xiaomi_Fenstersensor_Büro3: Fenster im Büro ist geschlossen
                    ! 2018-09-30 14:32:58.559 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Ignoriere Trigger nach Änderung für State javascript.0.Heizung.Heizplan.Büro.Source_NextTemp
                    ! 2018-09-30 14:32:58.560 - info: javascript.0 script.js.common.Heizungssteuerung_Büro: Routine ThermostatChange: Der Raum wurde vor weniger als 1 Sekunde bereits upgedated Aenderung wird ignoriert 0

                    1 Reply Last reply Reply Quote 0
                    • S
                      shattered_dream last edited by

                      @looxer01:

                      @dav71701:

                      iaomi Sensor wird zwar als "offen" erkannt, aber die TemperaturAbsenkung wir nicht durchgeführt. `

                      Hi,

                      ist schon eigenartig, dass es nur um Xiaomi geht. Waere mal interessant zu wissen, ob es sonst noch Erfahrungen gibt mit "Nicht HM" Sensoren.

                      Ist aber wahrscheinlich Zufall und damit zu erklären, dass viele hier Xiaomi im Einsatz haben.

                      Also, beim Öffnen sollte noch die Routine "LoopDevises" durchlaufen werden. kannst du mal schauen, ob die Meldungen findest aus der Routine. Und zwar ist das hier:

                              Sensor = VerschlussRaumStatus(roomName);
                              if (debug) {log("Routine LoopDevices: Sensorstatus fuer raum " + roomName + " ist " + Sensor, "info"); }
                              // Check ob ein Verschlusssensor offen ist
                              if (sensorausgeloest) {  // ein nicht direkt verknuepfter Sensor hat im Raum ausgeloest
                                  // Wenn ein Verschluss des Raumes geoeffnet ist, dann wird die Temp Absenkung gemacht
                                  if (Sensor) {  // steht einer der Sensoren auf offen ?
                      //                SetRoomOpen( roomName );  // in der delay tab werden evt Zeitstempel geloescht
                                      Source_GlobalParameter = "Verschluss offen TemperaturAbsenkung gesetzt";
                                      if (debug) { log("Routine LoopDevices:" +  Source_GlobalParameter, "info"); }
                                      if (Check_SensorDV(roomName) === false) {  // ist der Sensor direktverknuepft ?
                                          SetTemp(roomName, VerschlussAbsenkungsGrenze, id, false);
                                      }
                                      writelog(roomName, id, "Sensor ausgeloest - auf geoeffnet");
                                      continue;
                                  } else {
                                      SetRoomClosed(roomName,ControlTab[x][12]);  // zeitstempel setzen fuer delay wenn erforderlich
                                      Source_GlobalParameter = "Raum " + roomName + " jetzt geschlossen ";
                                      if (getState(path + "." + roomName + ".Source_TimeStamp").val === "init" && getState(id).val !== VerschlussAbsenkungsGrenze ) {  // Wenn keine manuelle Temp gesetzt war
                                          Source_GlobalParameter = "Verschluss geschlossen TemperaturAbsenkung zurueck gesetzt";
                                          if (debug) { log("Routine LoopDevices:" +  Source_GlobalParameter, "info"); }
                                          ExecuteTempDetermination(roomName, id);
                                          writelog(roomName, id, "Sensor ausgeloest - auf geschlossen");
                                          continue;
                                      } // kein TimeStamp gesetzt
                                  } // endif sensor status true
                              } // endif Sensor ausgeloest
                      
                              if (Sensor) {  // Wenn ein Sensor offen ist, dann mache nix
                                  return;
                              }
                      
                      

                      Wenn dieser Code nicht durchlaufen wird, dann können wir den Fehler weiter eingrenzen.

                      Was hast du für Thermostate ? HM ? mit Wandthermostat ?

                      vG Looxer `

                      Diese Routine wird wohl nicht durchlaufen… Habe mal Debug auf true gestellt und die Tür geöffnet....

                      Das kommt als Log raus :

                      18:57:03.060 [info] javascript.0 script.js.common.Skript3: Routine SensorFind ID = mihome.0.devices.magnet_158d0001fa3382.state Raum = Küche

                      18:57:03.060 [info] javascript.0 script.js.common.Skript3: Routine SensorStatCalc: Sensorstatus ist true fuer devtype = NoneHM und id mihome.0.devices.magnet_158d0001fa3382.state

                      18:57:03.060 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Fenster mihome.0.devices.magnet_158d0001fa3382.state status geaendert fuer mihome.0.devices.magnet_158d0001fa3382.state Küche true

                      18:57:03.061 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Raum Küche

                      18:57:03.061 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Sensor ist direktverknuepft ? false

                      18:57:03.061 [info] javascript.0 script.js.common.Skript3: Routine SensorChange: Sensor status ist ? true

                      Dazu noch ne Frage : Kann das dran liegen dass "setroomopen" auskommentiert ist ?

                      1 Reply Last reply Reply Quote 0
                      • L
                        looxer01 last edited by

                        Hi,

                        also in der vorherigen Diskussion hatten wir den Fall, dass der Sensor automatisch erkannt wurde, weil durch CUX definiert.

                        Die Lösung hier waere vermutlich die folgende Tabelle SensorTypeTab an Stelle 7 auf false zu setzen, und zwar für den Sensor HM-Sec-SC.

                        also hier:

                        // Typen-Tabelle der Verschlusssensoren fuer Homematic Geräte
                        // 6 = Verschlussstatus = false ist gechlossen
                        var SensorTypeTab = [];
                        //                   0.RPC-Pfad    1.GeraeteType  2\. Beschreibung,              3.Type     4.DP Status   5.nicht verwendet  6\. Verschlussstatus    7\. direktverknuepft
                        SensorTypeTab[0] = ['hm-rpc.0.',  'HM-Sec-SCo' ,    'Fenstersensor (neu)' ,       'HM',    '1.STATE' ,        false,         false,                 true    ];
                        SensorTypeTab[1] = ['hm-rpc.0.',  'HM-Sec-SC'  ,    'Fenstersensor (alt)' ,       'HM',    '1.STATE' ,        false,         false,                 true    ];
                        SensorTypeTab[2] = ['hm-rpc.0.',  'HM-Sec-RHS' ,    'Fenster-Drehgriffkontakt',   'HM',    '1.STATE' ,        false,         0,                     true    ];
                        SensorTypeTab[3] = ['hm-rpc.0.',  'HM-Sec-SC-2',    'Fenstersensor-2 (alt)' ,     'HM',    '1.STATE' ,        false,         false,                 true    ];
                        SensorTypeTab[4] = ['hm-rpc.1.',  'HMIP-SWDO'  ,    'Fenstersensor (HMIP )' ,     'IPSE',  '1.STATE' ,        false,         0,                     true    ];
                        SensorTypeTab[5] = ['hm-rpc.2.',  'HMW-Sen-SC-12-DR','Schließerkontakt HMW' ,     'HM',    '1.STATE' ,        false,         false,                 false   ];
                        
                        

                        Kann es sein, dass du den Xiaomi auch über CUX eingebunden hast ?

                        vG Looxer

                        1 Reply Last reply Reply Quote 0
                        • S
                          shattered_dream last edited by

                          Nein habe ihn nicht über Cux eingebunden… Nur am Mihome angemeldet...

                          Hab das mal geändert, da ändert sich nichts...

                          Interessanterweise : Wenn ich die Tür schliesse, wird "ExecuteTempDetermination" laut log durchgeführt....

                          Also wird der Status des Sensors erkannt und verarbeitet....

                          Beim Öffnen wird das allerding nicht durchgeführt...

                          1 Reply Last reply Reply Quote 0
                          • L
                            looxer01 last edited by

                            Hi,

                            tausche mal bitte in Routine SensorChange folgenden Code aus:

                            habe eine zusätzliche Logzeile eingebaut

                            neu:

                                if (SensorList[tabNo][7] ) {  // Sensor ist direktverknuepft und wurde geoeffnet
                                    log("Routine SensorChange: Sensor Direktverknuepft  Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+  SensorList[tabNo][7], "info" );
                                    writelog(room, id, "Routine SensorChange: Sensor Direktverknuepft  Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+  SensorList[tabNo][7])  ;
                                    return;                                                                                                                     // nichts machen, da die Absenkung automatisch passiert
                                }
                            
                            Es scheint so, dass die Routine "LoopDevices" nicht aufgerufen wird.
                            Aber die Logeintragungen kommen bis zu dem o.g. Codeschnipsel. Danach wird LoopDevices aufgerufen.
                            
                            vG Looxer
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • S
                              shattered_dream last edited by

                              Habs eingebaut… FOlgende Meldung im Log :

                              javascript.0 script.js.common.Skript3: Routine SensorChange: Sensor Direktverknuepft Sensorstatus geaendert - ID mihome.0.devices.magnet_158d0001fa3382.state Raum Küche auf true

                              Ist auch egal ob ich in der Sensorliste für NoneHM false oder true eingestellt habe, der erkennt das immer als direktverknüpft...

                              1 Reply Last reply Reply Quote 0
                              • L
                                looxer01 last edited by

                                @shattered_dream:

                                Habs eingebaut… FOlgende Meldung im Log : `
                                jo, das zeigt, dass das Script davon ausgeht, dass der Sensor direktverknuepft ist.

                                Ich glaube ich habe da einen fehler gefunden:

                                Tausche bitte nochmal aus:

                                    if (SensorList[tabNo][9] ) {  // Sensor ist direktverknuepft und wurde geoeffnet
                                        log("Routine SensorChange: Sensor Direktverknuepft  Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+  SensorList[tabNo][7], "info" );
                                        writelog(room, id, "Routine SensorChange: Sensor Direktverknuepft  Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+  SensorList[tabNo][7])  ;
                                        return;                                                                                                                     // nichts machen, da die Absenkung automatisch passiert
                                    }
                                
                                    vG Looxer
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • S
                                  shattered_dream last edited by

                                  Tip top, das scheints gewesen zu sein…..

                                  Funzt nun... Dank dir für die Unterstützung!

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    kaschperle83 last edited by

                                    Super. Ich bin gerade im Urlaub. Werde es danach direkt testen.

                                    Gesendet aus Hessen.

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 last edited by

                                      @kaschperle83:

                                      Super. Ich bin gerade im Urlaub. Werde es danach direkt testen. `
                                      Feedback wäre prima.

                                      Wenn es für alle läuft mache ich eine neue Version.

                                      vG Looxer

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        shattered_dream last edited by

                                        Wie gesagt bei mir funzt es!

                                        Muss mich jetzt mal in hochsprachen Programmierung einarbeiten..

                                        Ist als SPS Programmierer doch ne kleine Umstellung…

                                        Gesendet von meinem ONEPLUS A3003 mit Tapatalk

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          dav71701 last edited by

                                          @looxer01:

                                          @shattered_dream:

                                          Habs eingebaut… FOlgende Meldung im Log : `
                                          jo, das zeigt, dass das Script davon ausgeht, dass der Sensor direktverknuepft ist.

                                          Ich glaube ich habe da einen fehler gefunden:

                                          Tausche bitte nochmal aus:

                                              if (SensorList[tabNo][9] ) {  // Sensor ist direktverknuepft und wurde geoeffnet
                                                  log("Routine SensorChange: Sensor Direktverknuepft  Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+  SensorList[tabNo][7], "info" );
                                                  writelog(room, id, "Routine SensorChange: Sensor Direktverknuepft  Sensorstatus geaendert - ID " + id + " Raum " + room +" auf "+  SensorList[tabNo][7])  ;
                                                  return;                                                                                                                     // nichts machen, da die Absenkung automatisch passiert
                                              }
                                              
                                              
                                              vG Looxer
                                          
                                          ```` `  
                                          

                                          Also mit dieser Änderung und den folgenden Einstellungen, weil ich den Xiaomi - Sensor als Cux eingebunden habe, funktioniert es jetzt auch bei mir, super danke 🙂

                                          ThermostatTypeTab[2]  = ['hm-rpc.0.',  'HM-CC-RT-DN'     , 'Heizkoerperthermostat(neu)' ,'HT',   '4.SET_TEMPERATURE'      ,   false,        '4.MANU_MODE',              false,                  '4.ACTUAL_TEMPERATURE',      '4.CONTROL_MODE',           12,                                            0];
                                          SensorTypeTab[1] = ['hm-rpc.0.',  'HM-Sec-SC'  ,    'Fenstersensor (alt)' ,       'HM',    '1.STATE' ,        false,         false,                 false   ];
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • Chaot
                                            Chaot last edited by

                                            Wow,

                                            dasDing ist ja wirklich gut gemacht.

                                            Eine ganz blöde Frage:

                                            Lässt sich das eventuell auch auf DECT Thermostate adaptieren?

                                            Die Datenpunkte scheinen ja zu den HM Thermostaten anders zu sein und es gibt bei den Dingern per Remote Befhl keinen manuellen Modus.

                                            Hat das schon jemand versucht oder hilft vielleicht das Bild weiter?
                                            5779_dect.jpg

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            807
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            climate heating javascript template
                                            115
                                            1127
                                            321782
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo