Variable ansprechen+Batteriestatus

AVS 5, FS20 AMS, FS20 AS1, FS20 AS4, FS20 DAP3, FS20 DAV4, FS20 DCRC, FS20 DH20, FS20 DI, FS20 DI10, FS20 DI20-2, FS20 DI20-3, FS20 DI22-2, FS20 DT, FS20 DU, FS20 EAM, FS20 ES1, FS20 ESH, FS20 FG, FS20 FMS, FS20 HGS, FS20 IRP, FS20 KSE, FS20 LD, FS20 LED, FS20 MS-2, FS20 PIRA, FS20 PIRI-2, FS20 PIRI-2 HR, FS20 RBM, FS20 RPT, FS20 RST, FS20 S20, FS20 S20-, FS20 S4, FS20 S4M, FS20 S4U, FS20 S4UB, FS20 S8, FS20 SA, FS20 SA4, FS20 SD, FS20 SH, FS20 SIG, FS20 SM4, FS20 SN, FS20 SPC, FS20 SPIR, FS20 SR, FS20 SS, FS20 ST, FS20 STR, FS20 SU, FS20 SV, FS20 SW, FS20 TC6, FS20 TFK, FS20 TK, FS20 TKS, FS20 TS, FS20 USR1, FS20 UTS, FS20 ZE, FS20 ZPS

Moderator: Co-Administratoren

Antworten
TommiH
Beiträge: 242
Registriert: 16.07.2007, 12:00
Wohnort: 82024 Taufkirchen

Variable ansprechen+Batteriestatus

Beitrag von TommiH » 15.03.2010, 12:27

Hallöchen,
ich wollte gestern abend eine lokal (im Makro) benutzte Variable in einer Ansicht anzeigen. Die Variable heisst 'Drin' und ist im Makro des HMS100TFK 'GKTuer' angelegt. Kann ich auf diese Variable nicht einfach von einem Zeichenobjekt zugreifen? Ich habe ein neues Objekt (Zeichen) 'aVarBesetzt' angelegt und dieses in die entsprechende Ansicht gezogen und im Makro des Objektes habe ich permanent/2 Sekunden aktiviert und

aVarBesetzt:="Besetzt 1=Ja " + GKTuer.Drin

eingegeben, aber da kommt eine Fehlermeldung, ist da die Syntax falsch oder geht das so nicht?
Dabei ist mir dann auch aufgefallen, das der HMS eine 'Batteriewarnung' anzeigt, wenn ich über Modulauswahl das entsprechende Modul auswähle. Daraufhin habe ich in der Software auf Batterien austauschen geklickt, dann kam das Fenster 'Batterien bitte austauschen' - das habe ich gemacht und nach 10-15 Sekunden verschwand das Fenster und der HMS100 läuft wieder wie gewohnt, die Batterieanzeige steht allerdings weiterhin da, wie bekommt man die weg?
Und noch wichtiger, wie macht man es am geschicktesten, das die Batterieinfo nicht erst so umständlich zu finden ist, sondern dass man die vlt. direkt in der Ansicht visualisiert bekommt?`Geht das?
LG,
Tommi

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Variable ansprechen+Batteriestatus

Beitrag von buempi » 15.03.2010, 13:25

Hallo Tommi

Ich habe das genau so nachgestellt, wie du es beschrieben hast. "Drin" ist bei mir eine Variable vom Typ Zahl. Es funktioniert perfekt. Was kommt denn bei dir für eine Fehlermeldung? Und: Statt das Makro 2x pro Sekunde auszuführen, wäre es doch viel vernünftiger, dort, wo die Variable "Drin" verändert wird, auch gleich noch «aVarBesetzt:="Besetzt 1=Ja " + GKTuer.Drin» einzufügen. Dann braucht die Anweisung nicht täglich 172'800 mal ausgeführt zu werden!

Was die Batterieanzeige betrifft: Wenn du Homeputer vollständig beendigst, sollte sie nachher nicht mehr kommen. Ist das trotzdem der Fall, sind entweder auch die neuen Batterien sehr schwach oder der HMS hat eine Macke.

Wie man die Batteriewarnungen von HMS-Sensoren anzeigen kann, wurde schon öfter beschrieben. Letztmals vorgestern und zwar hier: http://homematic-forum.de/forum/viewtop ... f=2&t=4314

Viele Grüsse
Bümpi

TommiH
Beiträge: 242
Registriert: 16.07.2007, 12:00
Wohnort: 82024 Taufkirchen

Re: Variable ansprechen+Batteriestatus

Beitrag von TommiH » 15.03.2010, 14:07

buempi hat geschrieben:Hallo Tommi

Ich habe das genau so nachgestellt, wie du es beschrieben hast. "Drin" ist bei mir eine Variable vom Typ Zahl. Es funktioniert perfekt. Was kommt denn bei dir für eine Fehlermeldung? Und: Statt das Makro 2x pro Sekunde auszuführen, wäre es doch viel vernünftiger, dort, wo die Variable "Drin" verändert wird, auch gleich noch «aVarBesetzt:="Besetzt 1=Ja " + GKTuer.Drin» einzufügen. Dann braucht die Anweisung nicht täglich 172'800 mal ausgeführt zu werden!

Was die Batterieanzeige betrifft: Wenn du Homeputer vollständig beendigst, sollte sie nachher nicht mehr kommen. Ist das trotzdem der Fall, sind entweder auch die neuen Batterien sehr schwach oder der HMS hat eine Macke.

Wie man die Batteriewarnungen von HMS-Sensoren anzeigen kann, wurde schon öfter beschrieben. Letztmals vorgestern und zwar hier: http://homematic-forum.de/forum/viewtop ... f=2&t=4314

Viele Grüsse
Bümpi
Hallo Bümpi,
okay, Punkt 1 - (ich D****) ja, wenn man Dirn schreibt muss man sich nicht wundern. Mit Drin geht es (erstaunlicher Weise) auch, irgendwie hatte ich mir mal gesagt, keine Codeänderungen nach 22 Uhr - ich sollte dabei bleiben.
Was die häufige Ausführung angeht, ist es mir noch etwas unklar. Ich habe das Makro in dem die Variable genutzt/verändert wird. Um sie anzuzeigen habe ich ein Objekt vom Typ Zeichen angelegt, welches ich in der Ansicht einbinde und welches ich im 2-Sek-Takt ausführe, damit das immer aktuell angezeigt wird.
Da ich aber ja das Objekt, nicht die Variable, in der Ansicht einbinde, wie geht das dann, wenn ich die Variable direkt anzeigen will. Irgendwie stehe ich glaube ich auf dem Schlauch, ich dachte ich kann nur ein Objekt anzeigen und keine Variable aus einem Makro?

Die Batterieanzeige bleibt leider auch nach einem Runterfahren der FHZ und selbst nach einem kompletten SystemReboot (der war eh mal wieder fällig) vorhanden, komisch, die Batterien sind nagelneu aus einer Verpackung - da muss ich wohl doch nochmal die Batterien rausnehmen (ist etwas kniffelig eingebaut) und testen/austauschen.
Das mit der Batteriewarnung werde ich mal ausrpobieren, schliessliche habe ich nun einen Fall, der ja eigentlich so eine Meldung senden sollte und somit die Variable setzten müsste, mal schauen.

LG,
Tommi

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Variable ansprechen+Batteriestatus

Beitrag von buempi » 15.03.2010, 14:29

Hallo Tommi

Ja.... dieser Dreckfehlerteufel... Dirn und Drin sieht ja auch fast gleich aus!

Es stimmt schon: Variablen kann man nicht direkt anzeigen. Der Weg, den du beschritten hast, ist damit grundsätzlich richtig. Aber: Statt den Wert zu holen, kannst du ihn auch bringen!

Ich nehme an, es geht ums Gästeklo und du stellst im Makro des TFK fest, ob jemand drin ist oder nicht. Je nachdem setzst du dann die Variable auf 1 oder 0. Wenn du jetzt am Schluss des TFK-Makros noch die Zeile

Code: Alles auswählen

aVarBesetzt:="Besetzt 1=Ja " + GKTuer.Drin
einfügst, wird das Anzeige-Objekt jedes Mal, wenn sich die Variable ändert auch gleich aktualisiert. Du "bringst" also gewissermassen den Wert, statt ihn vom Anzeige-Objekt her zu "holen". Der Unterschied ist einfach der, dass das Anzeige Objekt nicht ununterbrochen "nachschauen" muss, ob sich "Drin" vielleicht geändert hat.

Ich würde übrigens folgendes vorziehen:

Code: Alles auswählen

Wenn GKTuer.Drin = 1 dann
   aVarBesetzt  := "besetzt"
sonst
   aVarBesetzt  := "frei"
endewenn
Wenn du das mit der Batteriewarnung in dein Projekt aufnimmst, solltest du mit dem Batteriewechsel natürlich warten. So kannst du auch gleich testen, ob es richtig läuft.

Viele Grüsse
Bümpi

Antworten

Zurück zu „ELV FS20 Sender, Empfänger und Aktoren“