Hi,
natürlich lassen sich die wired-Kanäle z.B. per HM-Script explizit abfragen, ich weiß es nur nie auswendig, ob es .Value() oder .State() ist, was man dafür verwenden muss (und bei Funkaktoren möglichst vermeiden sollte).
Der Familienvater
Homematic 076805 Wired RS485-I/O-Modul 12/7 Relaiszustände
Moderator: Co-Administratoren
-
- Beiträge: 7151
- Registriert: 31.12.2006, 15:18
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Rhein-Main
- Danksagung erhalten: 34 Mal
-
- Beiträge: 381
- Registriert: 15.01.2013, 11:45
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 3 Mal
Re: Homematic 076805 Wired RS485-I/O-Modul 12/7 Relaiszustände
Alles klar, danke für die Antwort.
Ich hab dazu hier auch einen Beitrag bei ELV gefunden:
https://www.elv.at/topic/aktualisierung ... enten.html
Der User Al.Andy hat einige Versuche diesbezüglich gemacht und schreibt:
"Dann habe ich einiges über Skripte probiert.
1. Über die Datenpunkte der Komponenten:
Damit bekomme ich den Zustand, den die ccu „glaubt“ zu kennen. Mit und Ohne Verbindung der Komponenten zur ccu. Ändert sich ein Zustand während der Unterbrechung (Bedienung direkt am Gerät), wird der auch nach herstellen der Verbindung nicht aktualisiert, wenn ich den Script aufrufe.
2. Über den Status des Kanals ohne Datenpunkt:
Komponente Verbunden, Schalter an:
Liefert „true“ ; WebUI zeigt „Ein“
Komponente nicht Verbunden, Schalter an:
Liefert „false“ ; WebUI zeigt weiterhin „Ein“
Schalter an Komponente aus während keine Verbindung besteht:
Liefert „false“ ; WebUI zeigt weiterhin „Ein“ (erwartungsgemäß)
Komponente wieder Verbunden, Schalter aus:
Liefert „false“ ; WebUI zeigt „Aus“
3. Daraufhin habe ich alle wired-Kanäle in ein Gewerk „wired“ gesteckt und das probiert:
Das return lässt ein paar Sekunden auf sich warten, aber es werden alle Zustände aktualisiert. Das könnte man in regelmäßigen Abständen ausführen lassen (ohne „WrineLine“). Fraglich, ob das Verhalten in zukünftigen FW-Versionen noch das Selbe ist.
Wäre schön, wenn ohne Verbindung nicht „false“ sondern z.B. „null“ käme. Dann könnte man darauf reagieren.
"
Verstehe ich das richtig, dass demnach die einzig funktionierende Version die 3. ist und ich meine zu überwachenden Kanäle in ein Gewerk stecken und mit dem Script
zyklisch abfragen muss, damit ich die gewünschte Funktionalität bei Spannungsausfall gewährleisten kann ?
Ich hab dazu hier auch einen Beitrag bei ELV gefunden:
https://www.elv.at/topic/aktualisierung ... enten.html
Der User Al.Andy hat einige Versuche diesbezüglich gemacht und schreibt:
"Dann habe ich einiges über Skripte probiert.
1. Über die Datenpunkte der Komponenten:
Code: Alles auswählen
WriteLine(dom.GetObject("HMW-LC-Sw2-DR MEQ1397074:4").DPByHssDP("STATE").Value());
2. Über den Status des Kanals ohne Datenpunkt:
Code: Alles auswählen
WriteLine(dom.GetObject("HMW-LC-Sw2-DR MEQ1397074:4").State());
Liefert „true“ ; WebUI zeigt „Ein“
Komponente nicht Verbunden, Schalter an:
Liefert „false“ ; WebUI zeigt weiterhin „Ein“
Schalter an Komponente aus während keine Verbindung besteht:
Liefert „false“ ; WebUI zeigt weiterhin „Ein“ (erwartungsgemäß)
Komponente wieder Verbunden, Schalter aus:
Liefert „false“ ; WebUI zeigt „Aus“
3. Daraufhin habe ich alle wired-Kanäle in ein Gewerk „wired“ gesteckt und das probiert:
Code: Alles auswählen
[i]string itemID;
foreach(itemID, dom.GetObject("wired").EnumUsedIDs())
{
WriteLine(itemID # dom.GetObject(itemID).State());
}[/i]
Wäre schön, wenn ohne Verbindung nicht „false“ sondern z.B. „null“ käme. Dann könnte man darauf reagieren.
"
Verstehe ich das richtig, dass demnach die einzig funktionierende Version die 3. ist und ich meine zu überwachenden Kanäle in ein Gewerk stecken und mit dem Script
Code: Alles auswählen
[i]string itemID;
foreach(itemID, dom.GetObject("wired").EnumUsedIDs())
{
WriteLine(itemID # dom.GetObject(itemID).State());
}[/i]