Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
murksmax
Beiträge: 9
Registriert: 06.08.2022, 08:23
System: CCU
Hat sich bedankt: 2 Mal

Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von murksmax » 14.04.2025, 15:02

Moin,
ich habe bei meinem Glashaus im Garten elektr. Linearantriebe für die Dachfenster verbaut. Die Ansteuerung mache ich über einen 8-fach HMIP und Relais. Die Direktverknüpfung je Kanal macht entweder kurz=3s betätigen oder lang=max. Öffnung. Das funktioniert so prima ...
Jetzt habe ich einen HMIP Raumthemostaten mit drin, der öffnet und schließt über ein Programm bei bestimmten Temperaturschwellen entweder auf Stufe 1 oder Stufe 2. Diese Stufen habe ich in einer Variable abgelegt, die jeweils den Status "offen" oder "geschlossen" zugewiesen bekommt.

Jetzt die alles entscheidendeFrage:
Wie kann ich den Status der Variable in einen bzw. zwei virt. Fenstersensor(en) im CUxD mappen, um das als Gerät im iPhone/Android anzeigen zu können? Den Wrapper kann ich ja im CUxD anlegen, aber wie bekomme ich da die Daten aus der Variable rein?

Im HAP kann ich die SysVar anzeigen lassen(z. B. als Contact), leider kann ich das nicht in den Favoriten bei iOS, das die Variable kein Gerät ist. So erscheint es nur in den Sicherheits-Infos...

Ich warte auf rege Antworten ...
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

rentier-s
Beiträge: 624
Registriert: 19.06.2017, 09:24
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 24 Mal
Danksagung erhalten: 105 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von rentier-s » 15.04.2025, 08:10

Eine Möglichkeit, quasi die universellste, wäre USE_HMDATAPT aus und per Programm+Skript den Wert der Systemvariable auf SET_STATE schreiben.

murksmax
Beiträge: 9
Registriert: 06.08.2022, 08:23
System: CCU
Hat sich bedankt: 2 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von murksmax » 15.04.2025, 08:16

rentier-s hat geschrieben:
15.04.2025, 08:10
Eine Möglichkeit, quasi die universellste, wäre USE_HMDATAPT aus und per Programm+Skript den Wert der Systemvariable auf SET_STATE schreiben.
Moin,
zum Ausschalten
USE_HMDATAPT=0
?

Und wie sähe ein entsprechendes Script aus? Habe damit leider noch keine Erfahrung :shock:
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

rentier-s
Beiträge: 624
Registriert: 19.06.2017, 09:24
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 24 Mal
Danksagung erhalten: 105 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von rentier-s » 15.04.2025, 09:44

Kurzversion aus dem Bauch heraus geschrieben und ohne jegliches Fehlerhandling:

Code: Alles auswählen

var sv = (dom.GetObject(ID_SYSTEM_VARIABLES).Get("Name der Systemvariable")).Value();
object dp = (dom.GetObject(ID_CHANNELS).Get("Name des Kanals des CUxD Geräts")).DPByHssDP("SET_STATE");

dp.State(sv);
Ausführen mittels
Wenn
Name der Systemvariable größer oder gleich 0 bei Aktualisierung auslösen
Dann
Skript

murksmax hat geschrieben:
15.04.2025, 08:16
USE_HMDATAPT=0
War das nicht einfach ein Haken, den man raus nimmt :?

Benutzeravatar
Baxxy
Beiträge: 13236
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Berlin
Hat sich bedankt: 809 Mal
Danksagung erhalten: 2901 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von Baxxy » 15.04.2025, 18:04

rentier-s hat geschrieben:
15.04.2025, 09:44
einfach ein Haken
Wenn man als Gerät das (40) 16 Kanal Universalsteuerung / Control: "Tür-/Fensterkontakt" nimmt, dann gibt's kein "USE_HMDATAPT".
:wink:
murksmax hat geschrieben:
14.04.2025, 15:02
den Status der Variable
Was ist es für eine?
Text / Zahl / Logik / Werteliste?

murksmax
Beiträge: 9
Registriert: 06.08.2022, 08:23
System: CCU
Hat sich bedankt: 2 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von murksmax » 15.04.2025, 18:16

Baxxy hat geschrieben:
15.04.2025, 18:04
Wenn man als Gerät das (40) 16 Kanal Universalsteuerung / Control: "Tür-/Fensterkontakt" nimmt, dann gibt's kein "USE_HMDATAPT".
:wink:
Ich habe den Wrapper genommen, da habe ich "USE_HMDATAPT", Haken hab ich rausgenommenen.
murksmax hat geschrieben:
14.04.2025, 15:02
den Status der Variable
Baxxy hat geschrieben:Was ist es für eine?
Text / Zahl / Logik / Werteliste?
Habe verschiedene ausprobiert bin leider noch nicht mit Erfolg belohnt worden :cry: Das Abfragen der Variable funktioniert, den Wert kann ich ausgeben. Nur das Gerät erfährt kein Set_State :(

Werde es nachher mal mit dem Gerät Typ 40 probieren, jetzt muss ich Abendessen machen sonst kommt Anne (Anne Ohren) :lol:
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

murksmax
Beiträge: 9
Registriert: 06.08.2022, 08:23
System: CCU
Hat sich bedankt: 2 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von murksmax » 16.04.2025, 10:17

Moin,
habe gerade mal gespielt... Habe ein Device Typ 40 mit den Standard-Einstellungen angelegt:
IMG_3009.jpeg
Geräteeinstellungen
Dazu habe ich folgenden Code mal laufen lassen:

Code: Alles auswählen

WriteLine("Hallo Welt!");
var sv = (dom.GetObject(ID_SYSTEM_VARIABLES).Get("Fs_1")).Value(); 
WriteLine(sv);
object dp = (dom.GetObject(ID_CHANNELS).Get("CUxD.CUX4000001:1")).DPByHssDP("SET_STATE");
WriteLine("2. Zeile:");
WriteLine(dp);
dp.State(sv);
WriteLine("Hallo Welt!");
Die WriteLines habe ich zur Kontrolle drin. Das Ergebnis sieht so aus, dass die Variable lt. Auswahl aus der Werteliste korrekt ausgegeben wird. Die Ausgabe von "2. Zeile" erfolgt allerdings nicht mehr, genausowenig wie der Status des Gerätes gesetzt wird. :?:

Bei der Objekt-Adresse habe mal mit "CUxD. ..." gespielt, mal ohne. Leider ohne Erfolg. Ich komme da irgendwie nicht weiter :(
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

rentier-s
Beiträge: 624
Registriert: 19.06.2017, 09:24
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 24 Mal
Danksagung erhalten: 105 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von rentier-s » 16.04.2025, 10:39

murksmax hat geschrieben:
16.04.2025, 10:17
Das Ergebnis sieht so aus, dass die Variable lt. Auswahl aus der Werteliste korrekt ausgegeben wird.
Was genau gibt WriteLine(sv) denn aus? Je nachdem welche Werte Deine Systemvariable hat, muss das evtl auf Ziel-Werte des CUxD Geräts umgeschrieben werden.

if (sv == 1) { dp.State(0); }
if (sv == 2) { dp.State(1); }
oder so ähnlich.

murksmax hat geschrieben:
16.04.2025, 10:17
object dp = (dom.GetObject(ID_CHANNELS).Get("CUxD.CUX4000001:1")).DPByHssDP("SET_STATE");
ist falsch.

Entweder
(dom.GetObject(ID_CHANNELS).Get("Name des Kanals")).DPByHssDP("SET_STATE")
oder
dom.GetObject("CUxD.CUX4000001:1.SET_STATE")

murksmax
Beiträge: 9
Registriert: 06.08.2022, 08:23
System: CCU
Hat sich bedankt: 2 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von murksmax » 16.04.2025, 11:31

rentier-s hat geschrieben:
16.04.2025, 10:39
murksmax hat geschrieben:
16.04.2025, 10:17
object dp = (dom.GetObject(ID_CHANNELS).Get("CUxD.CUX4000001:1")).DPByHssDP("SET_STATE");
ist falsch.

Entweder
(dom.GetObject(ID_CHANNELS).Get("Name des Kanals")).DPByHssDP("SET_STATE")
oder
dom.GetObject("CUxD.CUX4000001:1.SET_STATE")
TOPP! :mrgreen:

Genau das war es! Habe das Script angepasst und jetzt funktioniert es:

Code: Alles auswählen

var sv = (dom.GetObject(ID_SYSTEM_VARIABLES).Get("Fs_1")).Value();
object dp = (dom.GetObject("CUxD.CUX4000001:1.SET_STATE"));
dp.State(sv);
Jetzt habe ich einen Drehgriff, der mir den Status geschlossen, gekippt oder offen signalisiert - genau das, was ich wollte!

Vielen, vielen Dank für die Hilfe!
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

murksmax
Beiträge: 9
Registriert: 06.08.2022, 08:23
System: CCU
Hat sich bedankt: 2 Mal

Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen

Beitrag von murksmax » 16.04.2025, 11:46

Moin,

das Endergebnis sieht auf dem Endgerät jetzt so aus:
IMG_3010.jpeg
Anzeige iOS
Das ist genau das, was ich wollte! So habe ich auf den ersten Blick eine Kontrolle, ob das Fenster bei plötzlichem Schlechtwetter auch wirklich zu geht!
Grüße von der Nordseeküste

Max

--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz

Antworten

Zurück zu „CUxD“