Hallo zusammen,
ich hab ein scheinbar einfaches Problem was ich nicht gelöst bekomme.
Ich möchte die On_Time eines Aktors über eine Systemvariable schreiben.
Folgendes funktioniert ohne Probleme. Der Aktor schaltet nach 10 Sek wieder aus.
dom.GetObject("BidCos-RF.QEQ1334080:1.ON_TIME").State(10);
dom.GetObject("BidCos-RF.QEQ1334080:1.STATE").State(true);
Wenn ich dies nun durch eine Sys Variable ersetze schalter der Aktor zwar ein aber die On_Time wird nicht beachtet was dazu führt das der Aktor nicht automatisch aus geht.
!Test ist eine System Variable vom Typ Zahl
interger x = dom.GetObject("Test");
dom.GetObject("BidCos-RF.QEQ0711468:1.ON_TIME").State(Test);
dom.GetObject("BidCos-RF.QEQ0711468:1.STATE").State(true);
Danke für die Hilfe
Aktor On_Time aus Systemvariable schreiben
Moderator: Co-Administratoren
- Roland M.
- Beiträge: 9804
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 252 Mal
- Danksagung erhalten: 1381 Mal
Re: Aktor On_Time aus Systemvariable schreiben
Hallo und willkommen im Forum!
Richtig wäre (abgesehen vom falsch geschriebenen "interger"):
integer x = dom.GetObject("Test").Value();
Dass hier die Scriptsprache auch noch eine variable Typendeklaration durchführt, macht die Sache nicht leichter.
Eleganter wäre außerdem noch, die Systemvariable über
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Test")
anzusprechen, da so sichergestellt wird, dass die Systemvariable namens "Test" angesprochen wird und nicht vielleicht ein Gerät oder Kanal mit gleichem Namen.
Roland
Du referenzierst direkt auf das Objekt, nicht auf den Wert des Objekts!
Richtig wäre (abgesehen vom falsch geschriebenen "interger"):
integer x = dom.GetObject("Test").Value();
Dass hier die Scriptsprache auch noch eine variable Typendeklaration durchführt, macht die Sache nicht leichter.
Eleganter wäre außerdem noch, die Systemvariable über
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Test")
anzusprechen, da so sichergestellt wird, dass die Systemvariable namens "Test" angesprochen wird und nicht vielleicht ein Gerät oder Kanal mit gleichem Namen.
Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
- Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
- Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
- Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
- Fehlermeldungen genau abschreiben, besser noch...
- Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!
-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...
-
- Beiträge: 1172
- Registriert: 14.02.2016, 12:32
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Heidenheim
- Hat sich bedankt: 57 Mal
- Danksagung erhalten: 226 Mal
Re: Aktor On_Time aus Systemvariable schreiben
Und du musst in Zeile 4 hinten bei State x eintragen, nicht Test.
Die Scriptvariable Test ist nirgends in diesem Script definiert.