Script soll status abfragen und darstellen

Haussteuerung mittels mediola

Moderator: Co-Administratoren

Methoxy
Beiträge: 24
Registriert: 04.02.2021, 19:11
System: CCU und Access Point
Hat sich bedankt: 19 Mal
Danksagung erhalten: 1 Mal

Re: Script soll status abfragen und darstellen

Beitrag von Methoxy » 15.09.2021, 23:29

Irgendwie haut das nicht hin, ich glaube ich bin zu dumm und mache irgendein richtig blöden Fehler.
Die Variable "var_AnzahlLichter" bleibt die ganze Zeit auf 0.00 und bei "var_AnzahlLichter_String" sind nur drei ???
Wenn ich das Script testen möchte und auf "Ausführen klicke passiert rein gar nichts.

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

Re: Script soll status abfragen und darstellen

Beitrag von Baxxy » 15.09.2021, 23:45

Methoxy hat geschrieben:
15.09.2021, 23:29
Wenn ich das Script testen möchte und auf "Ausführen klicke passiert rein gar nichts.
Hmm, vermutlich existiert das Gewerk nicht.
Probier mal im Script testen...

Code: Alles auswählen

string gewerk = "Lichter"; !- Gewerkname innerhalb " " eintragen.
!----------------------------------------------------------------
object sec = dom.GetObject(gewerk);
string itemId; integer anzahl =0 ;
if (sec) {
foreach(itemId, sec.EnumUsedIDs()) {
object item = dom.GetObject(itemId);
if (item.IsTypeOf(OT_CHANNEL)) {
object device = dom.GetObject(item.Device());
string hssType = item.HssType();
boolean value = false;
real level = 0.0;
if ( hssType == "SWITCH_TRANSMITTER") { value = item.DPByHssDP("STATE").Value(); }
if ( hssType == "DIMMER") { level = item.DPByHssDP("LEVEL").Value(); }
if (value || (level != 0.0)) { anzahl = anzahl +1; }
}}
!dom.GetObject("Anzahl Lichter").State(anzahl);
WriteLine("Lichter an: " # anzahl);
}
else {
WriteLine("Gewerk namens: > "# gewerk #" < nicht gefunden!");
}

Methoxy
Beiträge: 24
Registriert: 04.02.2021, 19:11
System: CCU und Access Point
Hat sich bedankt: 19 Mal
Danksagung erhalten: 1 Mal

Re: Script soll status abfragen und darstellen

Beitrag von Methoxy » 16.09.2021, 00:17

Ja geil jetzt schreibt er was aus :D Aber das mit dem zählen klappt irgendwie immer noch nicht...
Er schreibt jetzt aus "Lichter an: 0". Egal ob ich Lichter einschalte oder nicht.
Ich nutze: HmIPW-DRD3 sowie HmIPW-DRS8. Die ganzen Lichter sind logischer weise im Gewerk gelistet, jedoch haut irgendwas noch nicht hin.

Grüße
Dateianhänge
Unbenannt.PNG

Tyfys
Beiträge: 531
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 26 Mal
Danksagung erhalten: 121 Mal

Re: Script soll status abfragen und darstellen

Beitrag von Tyfys » 16.09.2021, 07:41

Ich habe nur HMIP Dimmer-Steckdosen.
Aber wenn ich

Code: Alles auswählen

if ( hssType == "DIMMER") { level = item.DPByHssDP("LEVEL").Value(); }
auf

Code: Alles auswählen

if ( hssType == "DIMMER_TRANSMITTER") { level = item.DPByHssDP("LEVEL").Value(); }
erweitere, funktioniert es bei mir.

Du hast ja IP-Wired Aktoren, versuch es doch auch mal so.

Gruß
Harry
Gruß
Harry

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

Re: Script soll status abfragen und darstellen

Beitrag von Baxxy » 16.09.2021, 08:55

Methoxy hat geschrieben:
16.09.2021, 00:17
Ich nutze: HmIPW-DRD3 sowie HmIPW-DRS8.
Solche Info's bitte in Zukunft gleich mit angeben!
Füge mal folgende Zeile...

Code: Alles auswählen

WriteLine ("\tKanalname: "# item #" | HssType: "# hssType);
unter...

Code: Alles auswählen

real level = 0.0;
...ein.
Dann Script testen und die Ausgabe posten.

Antworten

Zurück zu „mediola“