Virtuellen Fenstersensor anlegen und Wert von SysVar mappen
Moderator: Co-Administratoren
Virtuellen Fenstersensor anlegen und Wert von SysVar mappen
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 ...
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
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz
-
- 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
Eine Möglichkeit, quasi die universellste, wäre USE_HMDATAPT aus und per Programm+Skript den Wert der Systemvariable auf SET_STATE schreiben.
Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen
Moin,
zum Ausschalten
USE_HMDATAPT=0
?
Und wie sähe ein entsprechendes Script aus? Habe damit leider noch keine Erfahrung

Grüße von der Nordseeküste
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz
-
- 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
Kurzversion aus dem Bauch heraus geschrieben und ohne jegliches Fehlerhandling:
Ausführen mittels
Wenn
Name der Systemvariable größer oder gleich 0 bei Aktualisierung auslösen
Dann
Skript
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);
Wenn
Name der Systemvariable größer oder gleich 0 bei Aktualisierung auslösen
Dann
Skript
War das nicht einfach ein Haken, den man raus nimmt

- 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
Wenn man als Gerät das (40) 16 Kanal Universalsteuerung / Control: "Tür-/Fensterkontakt" nimmt, dann gibt's kein "USE_HMDATAPT".

Was ist es für eine?
Text / Zahl / Logik / Werteliste?
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen
Ich habe den Wrapper genommen, da habe ich "USE_HMDATAPT", Haken hab ich rausgenommenen.
Habe verschiedene ausprobiert bin leider noch nicht mit Erfolg belohnt wordenBaxxy hat geschrieben:Was ist es für eine?
Text / Zahl / Logik / Werteliste?


Werde es nachher mal mit dem Gerät Typ 40 probieren, jetzt muss ich Abendessen machen sonst kommt Anne (Anne Ohren)

Grüße von der Nordseeküste
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz
Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen
Moin,
habe gerade mal gespielt... Habe ein Device Typ 40 mit den Standard-Einstellungen angelegt:
Dazu habe ich folgenden Code mal laufen lassen:
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
habe gerade mal gespielt... Habe ein Device Typ 40 mit den Standard-Einstellungen angelegt:
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!");

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
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz
-
- 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
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.
ist falsch.
Entweder
(dom.GetObject(ID_CHANNELS).Get("Name des Kanals")).DPByHssDP("SET_STATE")
oder
dom.GetObject("CUxD.CUX4000001:1.SET_STATE")
Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen
TOPP!

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);
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
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz
Re: Virtuellen Fenstersensor anlegen und Wert von SysVar mappen
Moin,
das Endergebnis sieht auf dem Endgerät jetzt so aus:
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!
das Endergebnis sieht auf dem Endgerät jetzt so aus:
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
Max
--
„Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“
3. Clarkesches Gesetz