NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
Abend,
jetzt funktioniert bei mir auch alles und der Log des Script sieht gut aus.
Ich hätte noch zwei Fragen:
1. Die Visualisierung aktualisiert sich immer so langsam, wenn ich die Views wechsel. Dies ist erst seit den eingefügten Views. Kennt jemand noch einen Trick?
Nutze ein Rasperry 3
2. Wie nutzt ihr den Boost bei den Max! Thermostaten mit dem Script?
Besten Dank an Alle und Grüße
-
Die Visualisierung aktualisiert sich immer so langsam, wenn ich die Views wechsel. Dies ist erst seit den eingefügten Views. Kennt jemand noch einen Trick?
Nutze ein Rasperry 3 `
Hi,dazu gibt es zwei Ansätze
1. du limitierst den View auf das jeweilig absolut notwendige (z.B. 1 Profil, evt nur 2 (aus Tages schedules, keine Globalen Parameter in allen Räumen etc.
2. du bringst die Heizungsviews in ein separates projekt und rufst über die URL auf.
vG Looxer
-
Leider habe ich die gleichen Darstellungprobleme wie in o.g. Post - dieser ist ja nun auch schon etwas älter - gibt es mittlerweile irgendeine Abhilfe? `
Hi,
meine Antwort dazu war:
` > das Problem ist leider schon sehr alt. siehe hier: http://forum.iobroker.net/viewtopic.php … =60#p84526Habs auch seit dem schon im Trello. Ich muss aber auch sagen, dass ich nicht sicher war, ob das nur bei mir in der Form wie du es beschreibst auftritt. `
Leider gilt das immer noch und damit ist dieses Problem auch offen.
Ich weiss nicht, ob jemand jemals irgend einen workaround gefunden hat. Dann wäre es super diesen mal zu teilen.
ich befürchte aber, dass das nicht der Fall ist.
Kannst du dazu ggf ein issue in Github aufmachen ?
vG Looxer
-
Aktuell habe ich nur ein Profil pro Raum geändert und das View dazu - auch im Script umgestellt. Das hat schon etwas gebracht.
Wo ist das vorzunehmen?
> keine Globalen Parameter in allen Räumen etc.
in edit vis, oder im Script?
Beim Script habe ich es in Common und nicht unter Global. Meinst du das?
Besten Dank für die schnelle Rückmeldung.
-
Leider habe ich die gleichen Darstellungprobleme wie in o.g. Post - dieser ist ja nun auch schon etwas älter - gibt es mittlerweile irgendeine Abhilfe? `
Hi,
meine Antwort dazu war:
` > das Problem ist leider schon sehr alt. siehe hier: http://forum.iobroker.net/viewtopic.php … =60#p84526Habs auch seit dem schon im Trello. Ich muss aber auch sagen, dass ich nicht sicher war, ob das nur bei mir in der Form wie du es beschreibst auftritt. `
Leider gilt das immer noch und damit ist dieses Problem auch offen.
Ich weiss nicht, ob jemand jemals irgend einen workaround gefunden hat. Dann wäre es super diesen mal zu teilen.
ich befürchte aber, dass das nicht der Fall ist.
Kannst du dazu ggf ein issue in Github aufmachen ?
vG Looxer `
Hallo,
Auf die Gefahr hin Blödsinn zu erzählen aber mir ist beim einrichten der Views für das neuen Script
(übrigens Herzliches Dankeschön Looxer01)
aufgefallen dass dieser Fehler mit dem View Thema zu tun haben könnte.
Wird für jedes View ein anderes Thema hinterlegt treten diese Verschiebungen nicht so auf.
zumindest bilde ich mir das ein.
Lg Helmut
-
Hallo,
ich bin aktuell dabei das Skript hier einmal zu testen
Leider werden meine HmIP-eTRV-B1 Thermostate nicht erkannt. Kann mir jemand die entsprechende Zeile unter ThermostatTypeTab sagen?
Ich denke da ist der Fehler, da das Thermostat hier nicht mit gelistet ist.
Ich hoffe mir kann wer helfen.
VG
Lindi
-
<size size="150">Danke @looxer01</size>
Vielen Dank für dieses Script und die zugehörige Widget-Sammlung 8-) Da steckt wahnsinnig viel Gehirnschmalz und Intelligenz, Arbeit und Fleiß drin, großartig. Hut ab, auch weil Du es damit geschafft hast, so viele "Variablen", also unterschiedliche Systeme/Geräte, Szenarien (Wochentage, Kalender, Gästemodus, etc.) zu berücksichtigen und für den Anwender ein sehr einfach einzurichtendes System geschaffen hast.
Dazu kommt, dass Du das hervorragend dokumentiert hast (sowohl im Script selbst, als auch über die Anleitung sowie zusätzliche FAQ).
Ich teste gerade erfolgreich mit ein paar Räumen (HomeMatic Thermostate in Verbindung mit Xiaomi Magnet-Fenster-Sensoren) und funktioniert hervorragend, auch Einbindung multipler Fenster-Kontakte in einen Raum, erkennt das Script automatisch.
Erstes Feedback zu meinem bisherigen Test:
-
Zu FAQ, Punkt "Ich habe Homematic Geräte und erhalte sofort nach Start des Scripts Fehlermeldungen. Es wurden auch keine Datenpunkte angelegt. Was mache ich falsch?": Sehr hilfreich die Problemlösung, da dies bei mir auch war. Wichtig zu ergänzen wäre noch, dass danach ggf. ein Neustart des ioBroker erforderlich ist, war zumindest bei mir so und bei anderen auch (siehe oben im Thread).
-
Verschlusssensoren für Nicht-Homematic-Geräte: Hier steht im Script folgendes:
> // 5 = wenn script die Absenktemperatur setzen soll, dann false
Tatsächlich sollte da wohl stehen:
> // 5 = wenn das Script die Absenktemperatur setzen soll, dann ****true**** eintragen
Hier als Beispiel die erfolgreiche Einbindung von Xiaomi-Sensoren (über mihome-Adapter):
NoneHMSenorTab[0] = ['Badezimmer', 'mihome.0.devices', 'magnet_XXXXXXXXXXX', 'state', true, true]; NoneHMSenorTab[1] = ['Schlafzimmer', 'mihome.0.devices', 'magnet_YYYYYYYYYY', 'state', true, true]; NoneHMSenorTab[2] = ['Schlafzimmer', 'mihome.0.devices', 'magnet_ZZZZZZZZZZ', 'state', true, true];
-
-
ich frag mal nett in die Runde.
Kann ich mithilfe diesem Skripts auch die Xiaomi Temperatur Sensoren und den Tür/Fenster Sensoren die Homematic Heizungsthermostate steuern?
Ich habe aktuell noch AVM DECT 301 Heizkörper verbaut und hatte versucht diese mit den Xiaomi Sensoren mit korrekten Daten zu steuern, leider haben die DECT Geräte einen 15min Schreibzyklus und somit suchte ich einen Ersatz.
Soweit ich das hier mitlesen konnte ist das mit den Homematic HKT möglich.
Müsste dafür lediglich noch Raspberrymatic auf meinem Raspberry inklusive Homematic Modul parallel zu ioBroker installieren und so die Verbindung zwischen den Homematic und den Xiaomi Geräten aufbauen, korrekt?
Wenn ich mit meinem Basis Wissen hier noch an der falschen Stelle bin, da es hier nur um das Skript geht lasst es mich gerne wissen.
Wer mir gutes Lesematerial fürs Thema Homematic HKT + Raspberrymatic + ioBroker + Xiaomi Geräte empfehlen kann… immer her damit.
-
Aktuell habe ich nur ein Profil pro Raum geändert und das View dazu - auch im Script umgestellt. Das hat schon etwas gebracht.
Wo ist das vorzunehmen?
> keine Globalen Parameter in allen Räumen etc.
in edit vis, oder im Script?
Beim Script habe ich es in Common und nicht unter Global. Meinst du das? `
Hi,ich beine damit die globalen Parameter in View oben links. Das sind Parameter, die für alle Räume und Profile gültig sind.
Somit könntest du das rauslassen und einen seperaten View dafür nutzen. Damit sparst du wieder ein paar Widgets ein.
Hast du mal versucht in ein Projekt auszulagen. Das sollte das Problem auch lösen und du verlierst keinen Komfort.
vG Looxer
-
Leider werden meine HmIP-eTRV-B1 Thermostate nicht erkannt. Kann mir jemand die entsprechende Zeile unter ThermostatTypeTab sagen?
Ich denke da ist der Fehler, da das Thermostat hier nicht mit gelistet ist. `
Hi,ja genau. Kopiere einfach ein eTVV Thermostat in eine Zeile am Ende der Thermostattabelle. (numerierung nicht vergessen)
Die Benennung muss noch gross und Kleinschrift exakt sein. Den exakten Namen findest du in den RAW Daten des Thermostates
ioBroker - Objekte und dann ganz rechts auf ändern.
Wenn es funktioniert, dann schicke mir bitte deine Definition. Übernehme ich dann.
vG Looxer
-
@Mic:Erstes Feedback zu meinem bisherigen Test: `
Vielen Dank Mic,Ich schaue mir die Punkte an. Lass mich wissen, wenn du noch was findest.
vG Looxer
-
Leider werden meine HmIP-eTRV-B1 Thermostate nicht erkannt. Kann mir jemand die entsprechende Zeile unter ThermostatTypeTab sagen?
Ich denke da ist der Fehler, da das Thermostat hier nicht mit gelistet ist. `
Hi,ja genau. Kopiere einfach ein eTVV Thermostat in eine Zeile am Ende der Thermostattabelle. (numerierung nicht vergessen)
Die Benennung muss noch gross und Kleinschrift exakt sein. Den exakten Namen findest du in den RAW Daten des Thermostates
ioBroker - Objekte und dann ganz rechts auf ändern.
Wenn es funktioniert, dann schicke mir bitte deine Definition. Übernehme ich dann.
vG Looxer `
Hallo,
die RAW Daten habe ich gefunden.
{ "from": "system.adapter.hm-rega.0", "ts": 1547303344580, "common": { "name": "Heizung Wohnzimmer vorn", "icon": "/icons/178_hmip-etrv-b1_thumb.png" }, "native": { "TYPE": "HmIP-eTRV-B1", "SUBTYPE": "TRV-B", "ADDRESS": "0012999395BA3E", "PARENT": "", "PARENT_TYPE": "", "FIRMWARE": "1.0.20", "AVAILABLE_FIRMWARE": "0.0.0", "FIRMWARE_UPDATE_STATE": "BACKGROUND_UPDATE_NOT_SUPPORTED", "LINK_SOURCE_ROLES": "", "LINK_TARGET_ROLES": "", "GROUP": "", "TEAM": "", "TEAM_TAG": "", "INTERFACE": "", "RF_ADDRESS": 5046446, "INDEX": 0, "AES_ACTIVE": 1, "VERSION": 1, "FLAGS": 1, "DIRECTION": 0, "ROAMING": 0, "RX_MODE": 11, "UPDATABLE": true, "CHILDREN": [ "0012999395BA3E:0", "0012999395BA3E:1", "0012999395BA3E:2", "0012999395BA3E:3", "0012999395BA3E:4", "0012999395BA3E:5", "0012999395BA3E:6", "0012999395BA3E:7" ], "PARAMSETS": [ "MASTER", "SERVICE" ], "TEAM_CHANNELS": [] }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "hm-rpc.1.0012999395BA3E", "type": "device" }
darauf hin habe ich folgende Zeile in der Script Datei hinzugefügt:
ThermostatTypeTab[11] = ['hm-rpc.1.', 'HmIP-eTRV-B1' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.SET_POINT_MODE', true, '1.ACTUAL_TEMPERATURE', '1.SET_POINT_MODE', 12, 0];
Gerätetyp habe ich aus den RAW daten kopiert, die anderen werte von dem vorhandenen HmIP-eTRV-B übernommen.
Wenn ich das Script dann aber starte wird nix gefunden.
Hast du einen Tipp, was ich falsch mache?
-
Gerätetyp habe ich aus den RAW daten kopiert, die anderen werte von dem vorhandenen HmIP-eTRV-B übernommen.
Wenn ich das Script dann aber starte wird nix gefunden.
Hast du einen Tipp, was ich falsch mache? `
Hi,die Einstellungen sehen erstmal gut aus.
Ist das Thermostat dem richtigen Raum und Gewerk zugeordnet ?
Bei den Objekten muss wenigstens der Kanal 1 die Zuordnung zu Raum und Funktion haben. Das siehst du in der Objektliste
vG Looxer
-
ja, die beiden Thermostate sind in Wohnzimmer zugeordnet (Kanal 1) und auch dem entsprechenden Gewerk wie die anderen alle.
Kann es daran liegen, da sie in der Homematic Zentrale zu einer Gruppe zusammen gefasst sind?
Dürfte eigentlich für das Script ja erstmal kein Unterschied machen. Würde die Gruppe halt löschen, wenn das Script funktioniert.
-
ja, die beiden Thermostate sind in Wohnzimmer zugeordnet (Kanal 1) und auch dem entsprechenden Gewerk wie die anderen alle.
Kann es daran liegen, da sie in der Homematic Zentrale zu einer Gruppe zusammen gefasst sind?
Dürfte eigentlich für das Script ja erstmal kein Unterschied machen. Würde die Gruppe halt löschen, wenn das Script funktioniert. `
Hi,es ist eh besser die Gruppe zu nutzen, wenn du die in der CCU definiert hast.
Dazu brauchst du einen Eintrag in der Thermostattabelle.
Sieht so aus:
ThermostatTypeTab[0] = ['frei', 'HM-CC-VG-1' , 'Heizungsgruppe' ,'VD', '1.SET_TEMPERATURE' , 'frei', '1.MANU_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
Der Eintrag sollte an Stelle 0 ganz oben stehen.
vG Looxer
-
ja, die beiden Thermostate sind in Wohnzimmer zugeordnet (Kanal 1) und auch dem entsprechenden Gewerk wie die anderen alle.
Kann es daran liegen, da sie in der Homematic Zentrale zu einer Gruppe zusammen gefasst sind?
Dürfte eigentlich für das Script ja erstmal kein Unterschied machen. Würde die Gruppe halt löschen, wenn das Script funktioniert. `
Hi,es ist eh besser die Gruppe zu nutzen, wenn du die in der CCU definiert hast.
Dazu brauchst du einen Eintrag in der Thermostattabelle.
Sieht so aus:
ThermostatTypeTab[0] = ['frei', 'HM-CC-VG-1' , 'Heizungsgruppe' ,'VD', '1.SET_TEMPERATURE' , 'frei', '1.MANU_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
Der Eintrag sollte an Stelle 0 ganz oben stehen.
vG Looxer `
Ich habe das hinzugefügt, aber die Gruppe wird auch nicht gefunden. Habe auch das 1. frei mit hm-rpc.2. ersetzt, da dort die VG zu finden ist.
Kanal 1 hat auch den Richtigen Raum und Gewerk.
Den Typ hab ich auch nochmal angepasst, da es so nicht gefunden wurde auf "HmIP-HEATING" (aus VG Device RAW Daten), hat aber auch alles nix geholfen.
Habe nun Debug aktiviert, aber auch da ist nix von Wohnzimmer zu lesen.
Irgendwie bin ich langsam ratlos
-
Ich habe das hinzugefügt, aber die Gruppe wird auch nicht gefunden. `
Hi,hast du im RPC Adapter die virtual devices aktiviert ?
Auch die Gruppen brauchen Raum und Gewerkzuordnung.
vG Looxer
-
Ich habe das hinzugefügt, aber die Gruppe wird auch nicht gefunden. `
Hi,hast du im RPC Adapter die virtual devices aktiviert ?
Auch die Gruppen brauchen Raum und Gewerkzuordnung.
vG Looxer `
Ja sie sind auch zugeordnet.
-
Hi,
ok, du hast das berüchtigte Übersetzungsproblem.
Das ist inkl Lösung auf seite 4 der FAQs beschrieben.
vG Looxer
-
Hi,
ok, du hast das berüchtigte Übersetzungsproblem.
Das ist inkl Lösung auf seite 4 der FAQs beschrieben.
vG Looxer `
Thx ich habe nun alles geändert. alle Aufzählungen gelöscht, die CCU Gewerke neu geschrieben und nun ist auch alles Deutsch im IOBroker.
Die Gewerk Bezeichnungen habe ich im Script nun wieder auf Heizung und Verschluss geändert und alles gestartet. Nun wird aber gar nix mehr erkannt. Hab ich irgendwo was vergessen umzutragen?
DIe Bezeichnungen bei den Thermostaten sind richtig, Also Gewerk und Raum.
Als Ausgabe vom Script bekomme ich folgendes:
19:57:31.817 [info] javascript.0 Start javascript script.js.common.Heizung 19:57:31.817 [info] javascript.0 script.js.common.Heizung: Routine GetDevices Devices initialisiert 19:57:31.817 [info] javascript.0 script.js.common.Heizung: registered 0 subscriptions and 0 schedules 19:57:33.824 [info] javascript.0 script.js.common.Heizung: Heizungsscript verarbeitung benutzt Trigger und Events 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:429:17) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:437:17) 19:57:33.824 [warn] javascript.0 at setOwnState (script.js.common.Heizung:560:5) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:882:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1949:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1954:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1960:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1963:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1969:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1972:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1976:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1979:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1984:9) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1988:13) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9) 19:57:33.824 [warn] javascript.0 at SetEventGlobalParameter (script.js.common.Heizung:1994:13) 19:57:33.824 [warn] javascript.0 at LoopRooms (script.js.common.Heizung:883:5) 19:57:33.824 [warn] javascript.0 at Object. (script.js.common.Heizung:494:9)