CCU3-Script - Alle HKT auf Urlaubsmodus

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

yakamoneye21
Beiträge: 8
Registriert: 07.11.2021, 22:08
System: CCU
Hat sich bedankt: 1 Mal

CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von yakamoneye21 » 07.11.2021, 22:18

Hallo Homematic-Freunde,

ich bin neu im Bereich Homematic und damit auch mit dem Scripten. Habe mir vor wenigen Wochen erst mein "Starterset" gekauft: CCU3, eTRV2 an allen Heizungen, gekoppelt mit optischen Fensterkontakten (HmIP-Heizgruppen) und in zwei Räumen Temperatur/Luftfeuchte-Messer.

Ich möchte jetzt den Urlaubsmodus über den AIO Creator realisieren. Ich habe schon einen Weg gefunden, Datum und Uhrzeit aus der AIO-Fernbedingung in eine Variable zu schreiben, ich schaffe aber nicht, dass das Script den Urlaubsmodus auf alle Heizkörper setzt.

Hier mal mein Script:

Code: Alles auswählen

string devID;
object device;
foreach(devID, dom.GetObject(ID_DEVICES).EnumUsedIDs()){
    device = dom.GetObject(dom.GetObject(devID).Name()#":1");
    !if(device.HssType() == "HmIP-HEATING"){ 
    if(device.Name() == "GR_Büro INT0000007:1"){ !zeile zum Testn an einem expliziten Thermostat
		WriteLine(device.Name());
                string submitString = "21" # ",1140,"# system.Date("%d,%m,%y") # ",1320," # system.Date("%d,%m,%y");
                WriteLine(submitString);
                device.DPByHssDP("PARTY_MODE_SUBMIT").State(submitString);
                !device.DPByHssDP("ACTIVE_PROFILE").State("1"); ! das hier geht ohne Probleme!
                }
}
Ich kann über alle Heizgruppen iterieren und dann das aktive Profil erfolgreich umstellen lassen - prinzipiell finde ich also die richtigen Geräte und kann sie auch ansprechen. Aber mein PARTY_MODE_SUBMIT wird einfach ignoriert. Habe auch schon versucht, "CONTROL_MODE" direkt auf 2 zu setzen - laut Doku ist das ein ReadOnly-Datenpunkt, 0 und 1 kann ich aber damit erfolgreich setzen...

Kann jemand eine Script-Neuling verraten, wo es hängen könnte, bzw. wie ich den Urlaubsmodus richtig aktivieren kann?

Ich danke für die Hilfe und wünsche gute Nacht!

Gruß

Tobias
Zuletzt geändert von yakamoneye21 am 08.11.2021, 07:39, insgesamt 1-mal geändert.
Aktuelles System:
CCU3
7x eTRV-2
6x SWDO
2x STH

MichaelN
Beiträge: 9678
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1626 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von MichaelN » 07.11.2021, 22:34

Ich habe keine Ahnung von Heizung, aber
Wo ist submitString definiert?
Und ich habe es noch nicht getestet, aber wenn du in einer Schleife immer wieder eine Variable (hier s1) neu definierst, ist das bestenfalls unnötig.
Also IMHO erstmal das Skript aufräumen.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Black
Beiträge: 5480
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von Black » 07.11.2021, 23:15

Nicht deklarierte variable ist das eine...

PARTY_MODE_SUBMIT sehe ich auf meinen eTRV nicht

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

yakamoneye21
Beiträge: 8
Registriert: 07.11.2021, 22:08
System: CCU
Hat sich bedankt: 1 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von yakamoneye21 » 08.11.2021, 07:44

Danke für die schnelle Rückmeldung schonmal!
MichaelN hat geschrieben:
07.11.2021, 22:34
Wo ist submitString definiert?
Und ich habe es noch nicht getestet, aber wenn du in einer Schleife immer wieder eine Variable (hier s1) neu definierst, ist das bestenfalls unnötig.
Also IMHO erstmal das Skript aufräumen.
Habe das ganze nur als Test laufen lassen und dabei keine schönen Variablen verwendet. Als ich es hier rein kopiert habe, hab ich die Bezeichner etwas sprechender gestaltet und dabei den einen vergessen... habe aber im Testscript überall s1 verwendet.
Und das mit der Deklaration in der Schleife stimmt, das baue ich noch raus. Ist aber wie gesagt noch nicht mal abgespeichert sondern nur bei mir im Notepad, weil ich bisher nur versuche, die Geräte anzusprechen.
Black hat geschrieben:
07.11.2021, 23:15
PARTY_MODE_SUBMIT sehe ich auf meinen eTRV nicht
Das ist schräg. Wenn ich den Thermostat oder die Heizgruppe auf Kanal 1 Abfrage, bekomme ich den Punkt aber zurückgemeldet. Ich bekomme auch keinen Fehler im Script, es wird insgesamt ausgeführt. Sobald ich einen Phantasie-Datenpunkt reinschreibe, bekomme ich die WriteLines nicht mehr angezeigt. Aber mit PARTY_MODE_SUBMIT funktioniert das Script an sich noch, das interpretiere ich so, dass der Datenpunkt zumindest existiert..

Gibt es sonst einen Weg, den Partymodus per Script zu steuerun? Ich möchte nicht den Umweg über Manuellen Modus mit fixer Temperatur und dann zurück zum Auto-Modus gehen.

Danke und schöne Grüße

Tobias
Aktuelles System:
CCU3
7x eTRV-2
6x SWDO
2x STH

Benutzeravatar
Baxxy
Beiträge: 10826
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 607 Mal
Danksagung erhalten: 2225 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von Baxxy » 08.11.2021, 09:03

Weil das Setzen des Urlaubsmodus für IP-Thermostate/Gruppen per WebUI-Programm auch nicht sauber klappt (>Link<) hatte ich auch mal versucht das Ganze per Script umzusetzten. Da ich irgendwie nicht weiter kam hatte ich dann das Thema nicht weiter verfolgt.
yakamoneye21 hat geschrieben:
08.11.2021, 07:44
Wenn ich den Thermostat oder die Heizgruppe auf Kanal 1 Abfrage, bekomme ich den Punkt aber zurückgemeldet.
Kannst du das mal zeigen? Bei mir habe weder IP-Thermostate noch IP-Gruppengeräte ein "PARTY_MODE_SUBMIT"
Die DP's für ein IP-Gruppengerät sehen hier (Kanal:1) so aus:

Code: Alles auswählen

VirtualDevices.INT0000002:1.ACTIVE_PROFILE
VirtualDevices.INT0000002:1.ACTUAL_TEMPERATURE
VirtualDevices.INT0000002:1.ACTUAL_TEMPERATURE_STATUS
VirtualDevices.INT0000002:1.BOOST_MODE
VirtualDevices.INT0000002:1.BOOST_TIME
VirtualDevices.INT0000002:1.CONTROL_DIFFERENTIAL_TEMPERATURE
VirtualDevices.INT0000002:1.CONTROL_MODE
VirtualDevices.INT0000002:1.DURATION_UNIT
VirtualDevices.INT0000002:1.DURATION_VALUE
VirtualDevices.INT0000002:1.FROST_PROTECTION
VirtualDevices.INT0000002:1.HEATING_COOLING
VirtualDevices.INT0000002:1.HUMIDITY
VirtualDevices.INT0000002:1.HUMIDITY_STATUS
VirtualDevices.INT0000002:1.LEVEL
VirtualDevices.INT0000002:1.LEVEL_STATUS
VirtualDevices.INT0000002:1.PARTY_MODE
VirtualDevices.INT0000002:1.PARTY_SET_POINT_TEMPERATURE
VirtualDevices.INT0000002:1.PARTY_TIME_END
VirtualDevices.INT0000002:1.PARTY_TIME_START
VirtualDevices.INT0000002:1.QUICK_VETO_TIME
VirtualDevices.INT0000002:1.SET_POINT_MODE
VirtualDevices.INT0000002:1.SET_POINT_TEMPERATURE
VirtualDevices.INT0000002:1.SWITCH_POINT_OCCURED
VirtualDevices.INT0000002:1.VALVE_ADAPTION
VirtualDevices.INT0000002:1.VALVE_STATE
VirtualDevices.INT0000002:1.WINDOW_STATE
Und hier noch die DP's eines HM-Gruppengerätes (Kanal:1):

Code: Alles auswählen

VirtualDevices.INT0000003:1.ACTUAL_HUMIDITY
VirtualDevices.INT0000003:1.ACTUAL_TEMPERATURE
VirtualDevices.INT0000003:1.AUTO_MODE
VirtualDevices.INT0000003:1.BOOST_MODE
VirtualDevices.INT0000003:1.COMFORT_MODE
VirtualDevices.INT0000003:1.CONTROL_MODE
VirtualDevices.INT0000003:1.LOWERING_MODE
VirtualDevices.INT0000003:1.MANU_MODE
VirtualDevices.INT0000003:1.PARTY_MODE_SUBMIT
VirtualDevices.INT0000003:1.PARTY_START_DAY
VirtualDevices.INT0000003:1.PARTY_START_MONTH
VirtualDevices.INT0000003:1.PARTY_START_TIME
VirtualDevices.INT0000003:1.PARTY_START_YEAR
VirtualDevices.INT0000003:1.PARTY_STOP_DAY
VirtualDevices.INT0000003:1.PARTY_STOP_MONTH
VirtualDevices.INT0000003:1.PARTY_STOP_TIME
VirtualDevices.INT0000003:1.PARTY_STOP_YEAR
VirtualDevices.INT0000003:1.PARTY_TEMPERATURE
VirtualDevices.INT0000003:1.SET_TEMPERATURE
yakamoneye21 hat geschrieben:
08.11.2021, 07:44
Gibt es sonst einen Weg, den Partymodus per Script zu steuerun?
Ich denke es geht irgendwie.
Nutzt man den "Urlaub-Button" beim IP-Gerät / IP-Gruppengerät in der WebUI funktioniert es ja auch. Mann müsste mal "reverse engineeren" welche Werte da bei welchen DP's gesetzt werden und das dann per Script nachbilden.

Grüße, Baxxy

Tyfys
Beiträge: 550
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von Tyfys » 08.11.2021, 09:25

Vielleicht hilft ein Blick in die offizielle Datenpunkt-Beschreibung.
eTRV2.png
Gruß
Harry

frd030
Beiträge: 3621
Registriert: 14.07.2019, 20:49
System: CCU
Hat sich bedankt: 847 Mal
Danksagung erhalten: 542 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von frd030 » 08.11.2021, 12:24

Alle Datenpunkte aller Geräte sind übrigens hier dokumentiert!
Und ja, das Dokument hat über 12.000 Seiten! Es sind halt alle! :wink:

Tyfys
Beiträge: 550
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von Tyfys » 08.11.2021, 12:39

Du meintest mit
frd030 hat geschrieben:
08.11.2021, 12:24
Alle Datenpunkte aller Geräte sind übrigens hier dokumentiert!
Alle Datenpunkte aller IP -Geräte
Gruß
Harry

yakamoneye21
Beiträge: 8
Registriert: 07.11.2021, 22:08
System: CCU
Hat sich bedankt: 1 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von yakamoneye21 » 08.11.2021, 19:59

Ohje, ich war wohl Müde, als ich das geschrieben habe. Ich finde die Datenpunkte jetzt weder in meiner Ausgabe noch in den Dokus zum eTRV-2... Hab wohl irgendwelche falschen Sachen gelesen.

DAnk euch bin ich aber schonmal soweit, dass ich jetzt die Datenpunkte habe, die ich brauche. PARTY_TIME_START, PARTY_TIME_END, SET_POINT_TEMPERATUR und SET_POINT_MODE.

Das ganze verhält sich aber jetzt immernoch nicht so, wie ich es gerne Hätte: wenn ich End- und Startzeit angebe, schreibt er im WebUI zwar eine Zeile "Urlaubsmodus" hin, da steht aber was ganz anderes, als das, was ich eingetragen habe (entweder 11.12.2021, 3:20 oder 30.11.2021). Urlaubsmodus ist auch nicht aktiv. Der Urlaubsmodus wird nur aktiv, wenn ich im Script PARTY_TIME_END vor PARTY_TIME_START setze. Dann wird aber als Enddatum - egal was ich schreibe - wieder irgend ein Datum eingetragen, teilweise 30.11.1999.

Es macht jetzt also zumindest schonmal was mit dem Urlaubsmodus, aber nicht das, was ich per Script durchgeben möchte. Wenn das schonmal jemand realisiert hat freue ich mich auf einen Stupser in die richtige Richtung... Sonst probiere ich halt weiter aus.

Danke schonmal und schöne Grüße
Aktuelles System:
CCU3
7x eTRV-2
6x SWDO
2x STH

Tyfys
Beiträge: 550
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: CCU3-Script - Alle HKT auf Urlaubsmodus

Beitrag von Tyfys » 08.11.2021, 20:13

stell doch mal die betreffenden Skript-Zeilen rein.

Vielleicht lässt sich daraus etwas erkennen.
Gruß
Harry

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“