Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Heizungsthermostatsteuerung - Script

NEWS

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

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

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

[Vorlage] Heizungsthermostatsteuerung - Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
313 Beiträge 34 Kommentatoren 85.1k Aufrufe 1 Watching
  • Ä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.
  • L Offline
    L Offline
    looxer01
    schrieb am zuletzt editiert von
    #159

    Hi,

    also, wenn du die Uhrzeit der letzten Spalten auf 00:00:00 im View stellst, dann werden die letzten Spalten im Programm ignoriert.

    Somit wird auch die zugewiesene Temperatur ignoriert. Wenn du dann die Widgets entfernst (bis auf das letzte mit 00:00:00), dann stören sie nicht mehr. Aus den Objekten entfernen geht nicht bzw bringt nix wie du richtig festgestellt hast.

    Edit: oder wenn du nicht entfernen willst, dann kann du die value list aus dem Widget einfach loeschen. Dann wird nur ein leeres Feld angezeigt.

    vG Looxer

    1 Antwort Letzte Antwort
    0
    • 0 Offline
      0 Offline
      00chaos
      schrieb am zuletzt editiert von
      #160

      @looxer01:

      Im Programmcoding findest du folgende Stelle:

      //              0 = Raum         1 = Datenpunkt bis vor Geraet   2=Datenpunkt Geraet  3=Datenpunkt SollTemp     4= Ventilstellung bei NichtHeizperiode
      NoneHMTab[0] = ['initial',	    'javascript.0.Heizung',         'zwave1', 	        '4.SET_TEMPERATURE',            12];
      NoneHMTab[1] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
      NoneHMTab[2] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
      
      

      bitte ersetzen durch:

      //              0 = Raum         1 = Datenpunkt bis vor Geraet   2=Datenpunkt Geraet  3=Datenpunkt SollTemp     4= Ventilstellung bei NichtHeizperiode
      NoneHMTab[0] = ['Schlafzimmer',	'maxcul.0',         			'LEQ1331051', 	    'desiredTemperature',            6];
      NoneHMTab[1] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
      NoneHMTab[2] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
      
      

      und dann noch:

      var VerschlussAbsenkungsGrenze = 12;
      
      

      auf das hier aendern:

      var VerschlussAbsenkungsGrenze = 6;
      
      

      vG Looxer `
      Ich habe die betreffenden Stellen ersetzt, außerdem Wohnzimmer in Schlafzimmer getauscht.

      Das Skript haut dann folgende Meldung raus:

      12:32:23.919	[info]	javascript.0 Stop script script.js.Heizungssteuerung
      12:32:23.943	[info]	javascript.0 Start javascript script.js.Heizungssteuerung
      12:32:23.944	[error]	javascript.0 script.js.Heizungssteuerung: script.js.Heizungssteuerung:2236
      12:32:23.944	[error]	javascript.0 at getDevices (script.js.Heizungssteuerung:457:33)
      12:32:23.944	[error]	javascript.0 at script.js.Heizungssteuerung:-1402:1
      
      

      Habe dann statt des Wandthermostates das normale Thermostat verwendet. Es kommt die gleiche Meldung.

      Gibt es eigentlich Unterschiede wo das Skript läuft (Global oder ohne Gruppe)?

      Beste Grüße

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

        Ich grätsche mal rein: wenn nicht explizit gefordert, dürfen KEINE Skripte unter global abgelegt werden.

        Skripte im Ordner global werden vom Adapter an jedes andere Skript angehängt. Heißt: wenn du drei Skripte unter common oder sonst wo hast (nur nicht global), wird ein Skript aus global dreimal angehängt und entsprechend dreimal ausgeführt. Das gibt Chaos.

        Also nix in global legen!

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

          @pix:

          Danke. Wieder was gelernt.

          @looxer01:

          Jetzt habe ich ne Weile gewartet und es wurde das View gefüllt. Auch werden jetzt die betreffenden Objekte angelegt.

          Das Problem ist das Wandthermostat. Da geht wohl was zwischen IOBroker, maxcul und Wandthermostat schief. Hier werden weder Werte empfangen noch gesendet.

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            looxer01
            schrieb am zuletzt editiert von
            #163

            @pix:

            Ich grätsche mal rein: wenn nicht explizit gefordert, dürfen KEINE Skripte unter global abgelegt werden.

            …

            Also nix in global legen! `
            jap, danke Pix.

            irgendwann hatten wir das schon einmal - war aber ein anderes Script - und dann gibt es solche Fehler.

            Ich habe ueberhaupt keine scripte in global (obwohl es an manchen Stellen Sinn machen könnte) - aus Zwei Gründen

            1. Das Teilen von Scripten ist schieriger

            2. Bei Fehlern werden die Zeilennummern zusammen mit den globalen Zeilennummern addiert. Man kann also schwerer die Stelle eines Fehlers zurückverfolgen.

            vG L

            1 Antwort Letzte Antwort
            0
            • L Offline
              L Offline
              looxer01
              schrieb am zuletzt editiert von
              #164

              @00chaos:

              Da geht wohl was zwischen IOBroker, maxcul und Wandthermostat schief. Hier werden weder Werte empfangen noch gesendet. `

              was passiert denn, wenn du die desired Temperatur manuell verstellst ? (also bei den Objekten)

              vG L

              1 Antwort Letzte Antwort
              0
              • 0 Offline
                0 Offline
                00chaos
                schrieb am zuletzt editiert von
                #165

                @looxer01:

                was passiert denn, wenn du die desired Temperatur manuell verstellst ? (also bei den Objekten)

                vG L `
                Hallo looxer01,

                den Feiertag mal ein wenig zum Testen genutzt. Habe von maxcul auf fhem umgestellt, da maxcul nicht sauber das Wandthermostat auslesen wollte.

                Konnte nun auch über die Objekte die Werte setzen.

                Das Skript funktioniert. Das Problem sind jetzt aber die Fensterkontakte, diese ignoriert das Skript "noch" völlig. Sind ja nicht definiert.

                Beste Grüße

                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  looxer01
                  schrieb am zuletzt editiert von
                  #166

                  @00chaos:

                  Habe von maxcul auf fhem umgestellt, da maxcul nicht sauber das Wandthermostat auslesen wollte. `

                  das ist ja schade, das heisst naemlich, dass die MAX Integration nicht funktioniert. Da sollte Bluefox die Info bekommen, damit gefixt werden kann.

                  oder liegt es nicht an ioBroker sondern an maxcul ?

                  @00chaos:

                  Konnte nun auch über die Objekte die Werte setzen.

                  Das Skript funktioniert. Das Problem sind jetzt aber die Fensterkontakte, diese ignoriert das Skript "noch" völlig. Sind ja nicht definiert. `

                  super, ich habe angefangen auch "Nicht-HM-Sensoren" zu integrieren.

                  Hast du mal getestet wie lange es dauert bis die Meldung eines Fensterstatus-Wechsels in ioBroker ankommt.

                  Das muss schnell gehen, sonst macht es keinen Sinn.

                  vG Looxer

                  1 Antwort Letzte Antwort
                  0
                  • 0 Offline
                    0 Offline
                    00chaos
                    schrieb am zuletzt editiert von
                    #167

                    @looxer01:

                    das ist ja schade, das heisst naemlich, dass die MAX Integration nicht funktioniert. Da sollte Bluefox die Info bekommen, damit gefixt werden kann.

                    oder liegt es nicht an ioBroker sondern an maxcul ? `
                    Ich hatte mehrmals das Pairen probiert. Das Heizkörperthermostat kam sauber mit allen Warten an. Beim Wandthermostat fehlten viele Werte.

                    Da ich nur ein Wandthermostat im Test hatte, kann ich da nicht mehr sagen.

                    @looxer01:

                    super, ich habe angefangen auch "Nicht-HM-Sensoren" zu integrieren.

                    Hast du mal getestet wie lange es dauert bis die Meldung eines Fensterstatus-Wechsels in ioBroker ankommt.

                    Das muss schnell gehen, sonst macht es keinen Sinn.

                    vG Looxer `
                    Also Meldungen werden schnell von Fhem zu ioBroker durchgereicht. In der Visualisierung werden schnell offene Fenster angezeigt. Das passiert meist innerhalb einer Sekunde.

                    Brauchst du da noch Parameter der Sensoren?

                    1 Antwort Letzte Antwort
                    0
                    • L Offline
                      L Offline
                      looxer01
                      schrieb am zuletzt editiert von
                      #168

                      @00chaos:

                      Brauchst du da noch Parameter der Sensoren? `
                      nein, ich glaube nicht Du schicktest mir ja schon einen Datenpunkt. Das sollte reichen.

                      Es sind schon einige Aenderungen, die ich gerade im Programm vornehme. Dauert noch ein wenig.

                      vG Looxer

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        PicNic
                        schrieb am zuletzt editiert von
                        #169

                        Hallo zusammen,

                        ich bin relativ neu und unbedarft im Thema ioBroker, konnte aber schon einige Erfahrungen sammeln und würde nun auch gerne dieses tolle Skript einsetzen. Ich hab hier aber noch die ein oder andere Verständnisfrage.

                        Erst mal mein Setting:

                        • ioBroker auf einem NUC als VM mit Jessie

                        • FHEM auf PI zero mit HM-MOD-RPI-PCB, CUL 433Mhz, CUL 868Mhz, CUL Jeelink

                        • ich habe hier auch noch einen (momentan ungenutzten) HM-CFG-LAN - für den Fall, das jemand von euch eine Idee hat, die mir einiges erleichtern würde, wenn ich das auch noch in Betrieb nehme.

                        FHEM habe ich seit ca. einem Jahr in Betrieb und steuere damit Heitungsthermostate, Steckdosen mit Lampen, habe einige Leistungsmesser in Betrieb und Temperatursensoren (auch als externer Temperatursensor für das Heizungsthermostat)

                        Da ich nie eine CCU besessen oder in den Fingern gehabt habe, habe ich natürlich auch keine Gewerke angelegt auf die das Skript zugreifen kann. Leider habe ich hier im Forum nichts gefunden woraus ich ersehen kann, was originär in den Gewerken enthalten ist, damit ich sie selber anlegen kann.

                        Meine Vorgehensweise wäre in etwas so:

                        • im Reiter "Aufzählungen" einen Punkt "enum.functions" anlegen

                        • darin dann einen Punkt "Heizung"

                        • in "Heizung" dann den Datenpunkt "fhem.0.DG_AZ_HZ_Fenster_Clima.desired-temp" hinzufügen (Thermostat ist ein HM-CC-RT-DN gepeert mit einem externen Temperatursensor)

                        Die Fragen:

                        Ist die Vorgehensweise richtig?

                        Ist das dann der richtige Datenpunkt?

                        Fehlen noch weitere Datenpunkte die zum Gewerk gehören?

                        Für das Gewerk "Verschluss" funktioniert es vermutlich ähnlich, oder?

                        Schon einmal vielen Dank im voraus 🙂

                        Viele Grüße

                        PicNic

                        1 Antwort Letzte Antwort
                        0
                        • L Offline
                          L Offline
                          looxer01
                          schrieb am zuletzt editiert von
                          #170

                          Hi,

                          @PicNic:

                          Die Fragen:Ist die Vorgehensweise richtig?Ist das dann der richtige Datenpunkt?Fehlen noch weitere Datenpunkte die zum Gewerk gehören?Für das Gewerk "Verschluss" funktioniert es vermutlich ähnlich, oder? `

                          Du brauchst kein Gewerk aber leider zunächst noch die Räume ueber enum.raum (oder so ähnlich -habe gerade kein System for mir)

                          Aber das will ich gerade aendern für Nicht-HM Geräte werden dann die Aufzählungen nicht notwendig sein.

                          Nicht-HM Verschluesse sind im Moment noch nicht integriert. Ich bin gerade dabei - allerdings im Moment zeitlich etwas knapp.

                          vG Looxer

                          1 Antwort Letzte Antwort
                          0
                          • tobetobeT Offline
                            tobetobeT Offline
                            tobetobe
                            schrieb am zuletzt editiert von
                            #171

                            Hi,

                            Glückwunsch zu dieser wirklich toll angelegten Steuerung. Genau das, was ich suche. Deinen View habe ich bereits übernommen und an mein Layout angepasst. Mit dem Script habe ich jedoch noch ein Problem. Zunächst habe ich versucht, den Code aus der .txt direkt in ein neues Skript zu kopieren. Hier endet das Skript nach 1006 Zeilen, sodass wesentlicher Code fehlt. Über die Importfunktion scheitere ich an der Dateinamenserweiterung. Habe es vergeblich mit txt, js, html und ganz ohne versucht. Dabei erhalte ich immer die Fehlermeldung "invalide Dateinamenserweiterung". Leider steht in deiner ansonsten sehr guten Anleitung unter "Installation/Programminstallation" nicht wirklich, wie zu verfahren ist.

                            Was muss ich tun?

                            Noch eine weiter Frage: Ich würde die Einstellung der Globalen Parameter und evtl auch die Profilauswahl gern für alle Räume gemeinsam zentral in einem anderen View darstellen. Hätte das Skript damit ein Problem bzw was wäre zu beachten?

                            Vielen Dank vorab für deine Antwort.

                            Beste Grüße

                            Beste Grüße
                            tobetobe

                            1 Antwort Letzte Antwort
                            0
                            • L Offline
                              L Offline
                              looxer01
                              schrieb am zuletzt editiert von
                              #172

                              @tobetobe:

                              Mit dem Script habe ich jedoch noch ein Problem. Zunächst habe ich versucht, den Code aus der .txt direkt in ein neues Skript zu kopieren. Hier endet das Skript nach 1006 Zeilen, sodass wesentlicher Code fehlt. Über die Importfunktion scheitere ich an der Dateinamenserweiterung. Habe es vergeblich mit txt, js, html und ganz ohne versucht. Dabei erhalte ich immer die Fehlermeldung "invalide Dateinamenserweiterung". `

                              Hi,

                              ich habe es gerade nochmal bei mir probiert, und zwar mit dem script aus dem ersten post. Da gibt es kein grundsätzliches Problem.

                              Also liegt es eher in deiner Umgebung. Beim öffnen des scripts solltest du einen Editor verwenden, der nicht mit eingebetteten Steuerbefehlen arbeitet. Ich empfehle immer notepad++. Ich nehme mal an, dass du einen Windows PC hast und deine ioBroker Installation sich auf einem Linux System befindet. Auf jeden Fall probiere mal einen alternativen Editor.

                              @tobetobe:

                              Noch eine weiter Frage: Ich würde die Einstellung der Globalen Parameter und evtl auch die Profilauswahl gern für alle Räume gemeinsam zentral in einem anderen View darstellen. Hätte das Skript damit ein Problem bzw was wäre zu beachten? `

                              Dem Programm ist die Visualisierung egal. Da kannst du machen was du willst. Wichtig ist am Ende, dass die Objekte aus der Objektliste sinnvolle Werte erhalten.

                              Eine Trennung der Globalen/Profilparameter hatte ich auch mal erwogen aber aus Gründen der Übersichtlichkeit verworfen. Aber wie gesagt; Da bist du vollkommen frei. Du brauchst auch keine 6 Werte für die Temperaturen je Tag in der View zu haben oder auch nicht jeden Tag, wenn z.B. in der Objektliste immer "wie Vortag" auf true steht. Im Extremfall reicht Ein Tag mit 2 Werten.

                              vG Looxer

                              Edit: bez. Script Kopie: ich bin stillschweigend davon ausgegangen, dass du im Scripteditor das Script komplett markierts (z.B. CTRL-A) und dann mit CTRL-V in den ioBroker editor kopierst

                              1 Antwort Letzte Antwort
                              0
                              • tobetobeT Offline
                                tobetobeT Offline
                                tobetobe
                                schrieb am zuletzt editiert von
                                #173

                                Hallo Looxer01,

                                herzlichen Dank für deine rasche Antwort. Der copy/paste-Fehler scheint irgendwie an meinem Linux (Ubuntu 17.10) oder an meinem Editor zu liegen. In mehrerer Schritten habe ich das Skript nun geladen. Es ist teilweise lauffähig, wirft mir jedoch folgende Fehlermeldung aus:

                                ! 16:17:22.174 [info] javascript.0 script.js.Heizung.Badezimmer: subscribe: {"pattern":{"id":{},"val":true,"ack":true},"name":"script.js.Heizung.Badezimmer"}
                                ! 16:17:22.175 [info] javascript.0 script.js.Heizung.Badezimmer: getEnums(enumName=rooms) => [{"id":"enum.rooms.${roomLivingRoom}","members":["hm-rpc.0.LEQ0232331.1","hm-rpc.0.LEQ0232242.1","hm-rpc.0.LEQ0232242.2","hm-rpc.0.LEQ0232242.3","hm-rpc.0.LEQ0232331.2","hm-rpc.0.LEQ0232331.3","hm-rpc.0.LEQ0189831.1","hm-rpc.0.LEQ0189831.2","hm-rpc.0.LEQ0648774.1","hm-rpc.0.LEQ0848949.1","hm-rpc.0.LEQ0848949.2","hm-rpc.0.LEQ0848949.3","hm-rpc.0.LEQ0848949.4","hm-rpc.0.LEQ0848949.5","hm-rpc.0.LEQ0848949.6","hm-rpc.0.LEQ0630696.1","hm-rpc.0.LEQ1463415.1","hm-rpc.0.LEQ1463415.2","hm-rpc.0.LEQ1463415.7"],"name":"${roomLivingRoom}"},{"id":"enum.rooms.${roomKitchen}","members":[],"name":"${roomKitchen}"},{"id":"enum.rooms.Esszimmer","members":["hm-rpc.0.LEQ0476533.1","hm-rpc.0.LEQ0848451.1","hm-rpc.0.LEQ0848451.2","hm-rpc.0.LEQ0848451.3","hm-rpc.0.LEQ0848451.4","hm-rpc.0.LEQ0848451.5","hm-rpc.0.LEQ0848451.6","hm-rpc.0.LEQ0630038.1"],"name":"Esszimmer"},{"id":"enum.rooms.Umkleidezimmer","members":["hm-rpc.0.LEQ0647840.1","hm-rpc.0.LEQ1514195.1","hm-rpc.0.LEQ1514195.2","hm-rpc.0.LEQ1514195.3","hm-rpc.0.LEQ1514195.4","hm-rpc.0.LEQ1514195.5","hm-rpc.0.LEQ1514195.6"],"name":"Umkleidezimmer"},{"id":"enum.rooms.Büro","members":["hm-rpc.0.BidCoS-RF.1","hm-rpc.0.LEQ0857246.1","hm-rpc.0.LEQ0857246.2","hm-rpc.0.LEQ0857246.3","hm-rpc.0.LEQ0857246.4","hm-rpc.0.LEQ0857246.5","hm-rpc.0.LEQ0857246.6"],"name":"Büro"},{"id":"enum.rooms.Badezimmer","members":["hm-rpc.0.LEQ0849194.1","hm-rpc.0.LEQ0849194.2","hm-rpc.0.LEQ0849194.3","hm-rpc.0.LEQ0849194.4","hm-rpc.0.LEQ0849194.5","hm-rpc.0.LEQ0849194.6"],"name":"Badezimmer"},{"id":"enum.rooms.${roomGarage}","members":[],"name":"${roomGarage}"},{"id":"enum.rooms.${roomHWR}","members":[],"name":"${roomHWR}"},{"id":"enum.rooms.Schlafzimmer","members":["hm-rpc.0.LEQ0724701.1","hm-rpc.0.LEQ1514209.1","hm-rpc.0.LEQ1514209.2","hm-rpc.0.LEQ1514209.3","hm-rpc.0.LEQ1514209.4","hm-rpc.0.LEQ1514209.5","hm-rpc.0.LEQ1514209.6"],"name":"Schlafzimmer"},{"id":"enum.rooms.${roomTerrace}","members":[],"name":"${roomTerrace}"},{"id":"enum.rooms.Flur","members":["hm-rpc.0.MEQ0167894.1","hm-rpc.0.MEQ0168236.1","hm-rpc.0.MEQ0167894.2","hm-rpc.0.MEQ0167894.3","hm-rpc.0.MEQ0168236.2","hm-rpc.0.MEQ0168236.3","hm-rpc.0.LEQ1222803.1","hm-rpc.0.LEQ1222803.2","hm-rpc.0.LEQ1222803.5","hm-rpc.0.LEQ1222803.6","hm-rpc.0.LEQ1222803.3","hm-rpc.0.LEQ1222803.4","hm-rpc.0.LEQ0648770.1"],"name":"Flur"}]
                                ! 16:17:22.176 [error] javascript.0 script.js.Heizung.Badezimmer: TypeError: $(…).each is not a function
                                ! 16:17:22.176 [error] javascript.0 at getDevices (script.js.Heizung.Badezimmer:421:114)
                                ! 16:17:22.177 [error] javascript.0 at script.js.Heizung.Badezimmer:297:1

                                Ich habe versucht, dem ersten Fehler (…each...) nachzugehen. Das von mir installierte Skript entspricht hier jedoch genau deiner Vorlage:

                                `// jetzt Thermostate einlesen
                                                                                                                                                                                // Lade alle Raeume
                                for (var i in rooms){                                                                                                                           // loop ueber alle Raeume
                                    roomName = rooms[i].name;
                                    for (var x in ThermostatTypeTab){                                                                                                           // loop ueber die moeglichen Thermostattypen
                                        $('channel[state.id=*.'+ThermostatTypeTab[x][4]+'] (rooms='+roomName+') (functions='+HeizungGewerk+') ')[color][b].each[/b][/color](function (id, i) {   
                                             idExtract = ThermostatTypeTab[x][0] + id.substr(9, ThermostatTypeTab[x][5]);` 
                                
                                Die Übereinstimmung der Räume und Gewerke mit der HomeMatic habe ich geprüft, scheint mir zu passen. Was könnte die Ursache sein?
                                
                                Beste Grüße,
                                
                                tobetobe[/i]
                                

                                Beste Grüße
                                tobetobe

                                1 Antwort Letzte Antwort
                                0
                                • L Offline
                                  L Offline
                                  looxer01
                                  schrieb am zuletzt editiert von
                                  #174

                                  Hi,

                                  da hast du noch immer copy Fehler im Script.

                                  Beispielsweise kommt each 2x vor; bei den Thermostaten als auch bei den Verschluessen (einlesen aus enum)

                                  so sollte es bei den Thermostaten aussehen:

                                   $('channel[state.id=*.'+ThermostatTypeTab[x][4]+'] (rooms='+roomName+') (functions='+HeizungGewerk+') ').each(function (id, i) {   
                                   idExtract = ThermostatTypeTab[x][0] + id.substr(9, ThermostatTypeTab[x][5]);
                                  
                                  

                                  und so ist es bei dir:

                                   $('channel[state.id=*.'+ThermostatTypeTab[x][4]+'] (rooms='+roomName+') (functions='+HeizungGewerk+') ')[color][b].each[/b][/color](function (id, i) {   
                                   idExtract = ThermostatTypeTab[x][0] + id.substr(9, ThermostatTypeTab[x][5]);
                                  
                                  

                                  selbst wenn du das jetzt löst sind da vielleicht noch andere Dinge drinnen.

                                  Versuche es doch mal mit Windows und Notepad++ über SSH in Ubuntu.

                                  vG Looxer

                                  1 Antwort Letzte Antwort
                                  0
                                  • C Offline
                                    C Offline
                                    Conquest
                                    schrieb am zuletzt editiert von
                                    #175

                                    Hallo tobetobe,

                                    wenn du Ubuntu nutzt kann ich dir "Kate" als Editor empfehlen mit allen anderen hat es bei mir auch nicht funktioniert. Seitdem ich diesen nutze habe ich keine Probleme mehr.

                                    https://wiki.ubuntuusers.de/Kate/

                                    LG

                                    Torsten

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      cstauch
                                      schrieb am zuletzt editiert von
                                      #176

                                      Hallo!

                                      Ich bekomme das skript bei mir leider nicht zum laufen, im Log ist Folgendes zu finden:

                                      javascript.0	2017-10-30 16:25:08.871	error	TypeError: Cannot read property 'common' of undefined
                                      javascript.0	2017-10-30 16:25:08.870	error	^
                                      javascript.0	2017-10-30 16:25:08.870	error	members: (objects[enums[i]].common) ? objects[enums[i]].common.members : [],
                                      javascript.0	2017-10-30 16:25:08.870	error	script.js.Heizung: /volume1/iobroker/node_modules/iobroker.javascript/javascript.js:2035
                                      javascript.0	2017-10-30 16:25:08.670	info	Start javascript script.js.Heizung
                                      javascript.0	2017-10-30 16:25:08.599	info	Stop script script.js.Heizung
                                      
                                      

                                      Hat jemand einen Tip?

                                      Viele Grüße

                                      1 Antwort Letzte Antwort
                                      0
                                      • L Offline
                                        L Offline
                                        looxer01
                                        schrieb am zuletzt editiert von
                                        #177

                                        @cstauch:

                                        Hat jemand einen Tip? `

                                        Hi,

                                        die stelle wo das passiert ist entweder beim einlesen der Thermostate oder Sensoren

                                                $('channel[state.id=*.'+ThermostatTypeTab[x][4]+'] (rooms='+roomName+') (functions='+HeizungGewerk+') ').each(function (id, i) {   
                                                     idExtract = ThermostatTypeTab[x][0] + id.substr(9, ThermostatTypeTab[x][5]);
                                                    fullname = getObject(id).common.name;
                                        
                                        

                                        Offensichtlich konnte nichts eingelesen werden. Da gibt es mehrere Möglichkeiten

                                        1 Falsches Gewerk angegeben ?

                                        Hier muessen die Gewerke angepasst werden

                                        var HeizungGewerk = "Heizung"; // diesem Gewerk muessen alle Thermostate zugeordnet sein.

                                        var SensorGewerk = "Verschluss"; // diesem Gewerk muessen alle Verschlusssensoren zugeordnet sein.

                                        2 die Aufzählungen in ioBroker sind nicht konsistent

                                        schau mal in die Aufzählungen bei ioBroker. evt mal die Gewerke löschen und durch Rega Sync neu erstellen lassen.

                                        vG Looxer

                                        1 Antwort Letzte Antwort
                                        0
                                        • C Offline
                                          C Offline
                                          cstauch
                                          schrieb am zuletzt editiert von
                                          #178

                                          Hallo Looxer, danke für die Hinweise!

                                          Ich habe mal Screenshots meiner Konfiguration angehängt. Ich sehe die Inkonsistenz nicht. Ist aber vielleicht auch ein "Mann-Kühlschrank-Butter"-Problem, für erhellende Hinweise bin ich sehr dankbar!
                                          3975_screenshot_20171031_094920.png
                                          3975_screenshot_20171031_094955.png
                                          3975_screenshot_20171031_100218.png
                                          3975_screenshot_20171031_100303.png

                                          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

                                          637

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe