mit einer Zelle eine Variable umschalten

Support für die Android App HomeStatus Display Pro
Ersthelfer
Beiträge: 14
Registriert: Do Mär 30, 2017 8:03 pm

mit einer Zelle eine Variable umschalten

Beitragvon Ersthelfer » Di Dez 05, 2017 7:23 pm

Hallo liebe HomeStus-Gemeinde,
vielleicht kann mir jemand weiterhelfen. Ich bin immer noch blutiger Anfänger bei HSD. Ich habe zwar schon eine ganzes View mit Fenster und Tür Status Anzeigen gefüllt, (in Verbindung mit den optischen Sensoren) aber nun möchte ich mit einer Zelle eine Variable auf 1 oder 0 setzen (action:)
Oder auf wahr oder nicht wahr.
Dabei soll der Text in der Zelle auf "Alarm ein" und nach nochmaligen Druck auf "Alarm aus" springen.
Sinn dabei ist mit der umschaltbaren Variablen eine Alarmanlage zu aktivieren und mit dieser Zelle ein- und auszuschalten.
Weiss jemand Rat?
Ist wahrscheinlich echt einfach, aber für mich momentan nicht lösbar.
Schon mal Danke
Zuletzt geändert von Ersthelfer am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

BirkeB
Beiträge: 12
Registriert: Fr Okt 09, 2015 8:29 am

Re: mit einer Zelle eine Variable umschalten

Beitragvon BirkeB » Mi Dez 06, 2017 8:26 am

Hallo

Am besten nimmst du eine Virtuelle Taste der CCU und schaltest damit die Alarmanlage ein bzw. aus
In dem Programm erzeugst du auf dem HSD dann die Meldung

Beispiel:
Wenn
Virtuelle Taste 50 - Lang gedrückt - bei Änderung
Und
Systemvariable Alarmanlage – Ausgeschaltet – nur prüfen
Dann
Systemvariable Alarmanlage - Eingeschaltet

Anzeige auf dem Tablet (hs_display1: I-J4)
{backgroundcolor:lightgray}{color:#FFA500}{fontsize:18}{Text:Alarmanlage</b><br>ist</b><br>eingeschaltet}{action:BidCoS-RF:50,PRESS_LONG}

SonstWenn
Virtuelle Taste 50 - Lang gedrückt - bei Änderung
Und
Systemvariable Alarmanlage – Eingeschaltet – nur prüfen
Dann
Systemvariable Alarmanlage - Ausgeschaltet

Anzeige auf dem Tablet (hs_display1: I-J4)
{backgroundcolor:lightgray}{color:#009150}{fontsize:18}{Text:Alarmanlage</b><br>ist</b><br>Ausgeschaltet}{action:BidCoS-RF:50,PRESS_LONG}

Das sollte so funktionieren.
Ich habe noch eine Verzögerung mit Ansage (3Min, 2Min, 1Min, eingeschaltet) eingebaut, damit ich das Haus verlassen kann.
Auch habe muss ich einen Code eingeben wenn ich die Alarmanlage ausschalte, das währe dann im SonstWenn Bereich {action:BidCoS-RF:50,PRESS_LONG,1234) wobei 1234 für deinen Code steht.

Ist die Alarmanlage eingeschaltet und du drückst die Virtuelle Taste (Tabletfeld I-J4) dann erscheint ein Code den du eingeben und bestätigen muss.

Gruß
BB
Zuletzt geändert von BirkeB am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

Ersthelfer
Beiträge: 14
Registriert: Do Mär 30, 2017 8:03 pm

Re: mit einer Zelle eine Variable umschalten

Beitragvon Ersthelfer » Do Dez 07, 2017 1:42 pm

Hallo BB,
vielen Dank erst einmal für deine Hilfe.
Das hat mich schon sehr weitergebracht.
Allerdings habe ich einen Fehler, den ich mir absolut nicht erklären kann.
Ich kann mit dem Button die Alarmanlage einschalten aber nicht wieder ausschalten.
Die Variable als auch der Text ändern sich nicht.
Wenn ich mir das Programm anschaue, kann ich dafür nicht den Grund finden. Nach meinem Verständnis müsste es gehen.
Ich werde heute Abend mal ein Screenshot von meinem Programm hochladen.
Bis denn
Ersthelfer
Zuletzt geändert von Ersthelfer am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

BirkeB
Beiträge: 12
Registriert: Fr Okt 09, 2015 8:29 am

Re: mit einer Zelle eine Variable umschalten

Beitragvon BirkeB » Do Dez 07, 2017 7:51 pm

Hallo

Hast du den SonstWenn Teil den ich beschrieben habe auch eingefügt?

SonstWenn
Virtuelle Taste 50 - Lang gedrückt - bei Änderung
Und
Systemvariable Alarmanlage – Eingeschaltet – nur prüfen
Dann
Systemvariable Alarmanlage - Ausgeschaltet

Alternatibv kannst du auch ein 2tes Programm anlegen.

Gruß
Zuletzt geändert von BirkeB am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

Ersthelfer
Beiträge: 14
Registriert: Do Mär 30, 2017 8:03 pm

Re: mit einer Zelle eine Variable umschalten

Beitragvon Ersthelfer » Do Dez 07, 2017 9:18 pm

Hallo BB,

ich sende gleich mal den Screenshoot. Ich bin der Meinung, dass ich das richtig gemacht habe, allerdings weiss ich nicht, wo ich" bei Änderung" einfügen soll.

LG
Ersthelfer

Screenshot-2017-12-7 HomeMatic WebUI(1).png
Screenshot-2017-12-7 HomeMatic WebUI(1).png (52.88 KiB) 43 mal betrachtet


Screenshot-2017-12-7 HomeMatic WebUI.png
Screenshot-2017-12-7 HomeMatic WebUI.png (8.62 KiB) 43 mal betrachtet
Zuletzt geändert von Ersthelfer am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

Ersthelfer
Beiträge: 14
Registriert: Do Mär 30, 2017 8:03 pm

Re: mit einer Zelle eine Variable umschalten

Beitragvon Ersthelfer » Do Dez 07, 2017 9:25 pm

und noch einmal "eingeschaltet" und "ausgeschaltet" vertauscht

Screenshot-2017-12-7 HomeMatic WebUI(2).png
Screenshot-2017-12-7 HomeMatic WebUI(2).png (52.52 KiB) 43 mal betrachtet
Zuletzt geändert von Ersthelfer am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

BirkeB
Beiträge: 12
Registriert: Fr Okt 09, 2015 8:29 am

Re: mit einer Zelle eine Variable umschalten

Beitragvon BirkeB » Mo Dez 11, 2017 1:31 pm

Hallo

Mit Änderung meinte ich den Tastendruck Short/Long

Hast du überall denselben Tastendruck verwendet? Also in der Geräteauswahl "Tastendruck lang" und im Systemzustand "xxx:50,PRESS_LONG"

An und Für sich sollte dann dein Programm funktionieren.
Ich sehe keinen Fehler

Versuche mal das ganze mit Tastendruck kurz bzw. SHORT zu machen.
Zuletzt geändert von BirkeB am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

Michael K
Beiträge: 53
Registriert: So Feb 08, 2015 12:43 am

Re: mit einer Zelle eine Variable umschalten

Beitragvon Michael K » Mo Dez 11, 2017 4:47 pm

Dein Sonstwenn ist falsch, weil die Taste kein zweites mal gedrückt wird und daher dein sonstwenn immer falsch ist (sonstwenn Taste gedrückt --> Hier nicht mehr, also immer falsch.)

Versuch es mal mit

Code: Alles auswählen

wenn Tastendruck lang
und Alarm bei ausgeschaltet nur prüfen
dann
...Variablen setzen
sonst (nicht: sonstwenn)
...Variablen anders setzen

Ist eine Spezialität der ccu2. Lese dich am besten in die wenn/dann Thematik der ccu2 ein, da gibt es viel Dokumentation dazu (nicht bei homestatus, weil das hat nichts mit Homestatus zu tun). Wie funktioniert es:

Im Wenn-Teil stehen gleichzeitig zwei informationen
  • wann (bei welchem Ereignis) wird das Programm gestartet (gedrückte Tasten, alles mit "Bei Änderung" oder "Bei Aktualisierung")
  • welche Bedingungen müssen geprüft werden, um zu entscheiden ob der Dann oder der Sonst Teil aufgerufen wird (alles mit "Bei Änderung" oder "Bei Aktualisierung" oder "Nur prüfen")
Wie funktioniert es: Fall 1: Alarm = ausgeschaltet.
  • Du drückst die Taste. Dadurch startest Du das Programm
  • Die wenn Prüfung erfolgt. Ja, Alarm ist ausgeschaltet, daher kommt der Dann-Teil
  • Somit kommt kein Sonst Teil
Wie funktioniert es: Fall 2: Alarm = eingeschaltet.
  • Du drückst die Taste. Dadurch startest Du das Programm
  • Die wenn Prüfung erfolgt. nein, Alarm ist nicht ausgeschaltet, daher kommt der Dann-Teil auch nicht
  • Somit kommt der Sonst Teil
Ist nicht ganz intuitiv, aber wenn man es verstanden hat ganz einfach. Bei größeren Abfragen ist es manchmal übersichtlicher zwei Programme zu machen. Erstes Programm: Alarm-einschalten: Wenn Tastendruck UND alarm = aus dann [alles was passieren soll, wenn man den Alarm einschalten möchte]. Zweites Programm: Alarm-auschalten: Wenn Tastendruck UND alarm = ein dann [alles was passieren soll, wenn man wieder ausschaltet]. Wenn Du jetzt auf die Taste drückst, dann werden beide Programme gestartet, aber nur eines kommt in den Dann-Teil.
Zuletzt geändert von Michael K am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

Ersthelfer
Beiträge: 14
Registriert: Do Mär 30, 2017 8:03 pm

Re: mit einer Zelle eine Variable umschalten

Beitragvon Ersthelfer » Mo Dez 11, 2017 8:13 pm

Also ich bin einfach zu blöd.
Ich habe nun das programm so geschrieben:

Screenshot-2017-12-11 HomeMatic WebUI.png
Screenshot-2017-12-11 HomeMatic WebUI.png (35.29 KiB) 10 mal betrachtet


Die Variable wird nun aber immer als "eingeschaltet" gesetzt, egal wie oft ich drücke und im HSD LOG-Fenster erscheint die Fehlermeldung:
failed to set "Alarm" reason: Socket is closed.

ich weis nicht weiter. Vielleicht muss ich auch nur eine Nacht drüber schlafen.
Dann denke ich wieder: man so blöd kann man sich doch nicht anstellen!!!
Zuletzt geändert von Ersthelfer am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''

Michael K
Beiträge: 53
Registriert: So Feb 08, 2015 12:43 am

Re: mit einer Zelle eine Variable umschalten

Beitragvon Michael K » Mo Dez 11, 2017 11:01 pm

Du musst dich jetzt entscheiden. Soll Homestatus

A) die virtuelle Taste drücken, auf das dein Programm dann reagiert.
Oder
B) die Variable ändern. Dann muss du das Programm aber auch so schreiben.

Derzeit machst du beides. Im wenn Teil wartest du darauf, das die Taste gedrückt wird, und Homestatus sagst du, das es die Variable ändern soll... Das kann nicht gehen.

Denk drüber nach und mach dann den Weg mit der Taste, so wie du schon angefangen hast.



Ps: das mit dem socket daher, das du die Variable Alarm definiert hast mir den Werten "eingeschaltet" und "ausgeschaltet" (und nur diesen), und du mit der {Action: Alarm, 0} Homestatus sagst, es soll den Wert 0 hineinschreiben. Was nicht gehen kann.
Zuletzt geändert von Michael K am Do Jan 01, 1970 12:00 am, insgesamt 0-mal geändert.
Grund: ''


Zurück zu „HomeStatus Pro“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron