Siebträgermaschine - Variable - Steuern - Skript

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

er.win
Beiträge: 26
Registriert: 25.09.2012, 07:25
System: CCU und Access Point
Danksagung erhalten: 1 Mal

Siebträgermaschine - Variable - Steuern - Skript

Beitrag von er.win » 13.11.2017, 17:10

Hallo liebe Fachgemeinde!

Espressomaschinen sind eigentlich nicht besonders „smart“. Dies würde ich gerne ein kleinwenig ändern.
Einschalten, 30 Minuten warten, Espresso mit feiner Crema ziehen und ausschalten.

Mit der CCU II und der HMIP-PS Schaltsteckdose ist es kein Problem morgens die Maschine rechtzeitig auf Betriebstemperatur zu bringen.
Zusätzlich habe ich eine Variable angelegt die 4 Werte hat. (Eingeschaltet noch kalt;Eingeschaltet Betriebsbereit;Ausgeschaltet noch warm;Ausgeschaltet und kalt).
Diese verwende ich zur Visualisierung in der mediola neo App.

Was möchte ich gerne Umsetzen können:

Nach dem Einschalten über den HMIP-PS soll die Variable sofort den Wert 1 annehmen.
Nach 30 Minuten den Wert 2. (Betriebsbereit)
Sinngemäß beim Ausschalten Wert 3 und nach 30 Minuten Wert 4.
(Bis hierhin schaffe ich das mit einem normalen Programm selbst.)

Am Nachmittag habe ich die Maschine gerade vor 10 Minuten ausgeschaltet, da schellt der Nachbar, vom Kaffeeduft angelockt, und möchte auch einen Kaffee.

Wie sage ich jetzt meiner Variablen, dass sie jetzt nur noch 10 Minuten bis zum Wert 2 braucht.
Die Physiker unter Euch bitte ich für diese Annahme schon mal um Nachsicht.

Den Wert 2 verwende ich auch für eine Push-Nachricht auf mein Mobiltelefon, dass die Kaffeemaschine jetzt bereit ist.

Mit den letzten Statusmeldungen der HMIP-PS oder der Variablen lässt sich da doch sicher eine schlaue Lösung finden.

Leider reichen meine Programmierfähigkeiten dafür nicht aus und nach zweitägiger Suchen hier im Forum habe ich nichts rechtes gefunden.

Welcher der Skript-Spezialisten könnte mir hierbei behilflich sein?

Mit homematischen Grüßen
Er.win

Benutzeravatar
Roland M.
Beiträge: 9787
Registriert: 08.12.2012, 15:53
System: CCU
Wohnort: Graz, Österreich
Hat sich bedankt: 252 Mal
Danksagung erhalten: 1374 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von Roland M. » 13.11.2017, 17:58

Hallo!

Da braucht es kein Script! ;)

Code: Alles auswählen

WENN Aktor = aus (Auslösen auf Änderung)
DANN Status sofort "aus-warm"
     Status verzögert um 30 min "aus-kalt"

Code: Alles auswählen

WENN Aktor = ein (Auslösen auf Änderung)
UND Status = "aus-kalt" (nur prüfen)
DANN Status sofort "ein-kalt"
     Status verzögert um 30 min "Betriebsbereit"
SONST-WENN Status = "aus-warm" (nur prüfen)
DANN Status sofort "ein-kalt"
     Status verzögert um 10 min "Betriebsbereit"
Wichtig dabei ist nur, überall die Option "...alle laufenden Verzögerungen ... beenden" zu aktivieren.


Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
  • 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,...

er.win
Beiträge: 26
Registriert: 25.09.2012, 07:25
System: CCU und Access Point
Danksagung erhalten: 1 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von er.win » 14.11.2017, 10:48

Hallo Roland!
Danke für Deine schnelle und detaillierte Antwort.

Mein Problem wäre simpel würde (Symbolisches Beispiel für ein veränderliches Verhalten) der Nachbar immer 10 Minuten nach dem Ausschalten der Maschine kommen.
Dann kann man natürlich einen festen Wert in ein Programm schreiben.

Wenn ich aber vor 5 Minuten ausgeschaltet habe oder schon vor 25 Minuten?
Was dann?
Man muss auch ein Aus- und wieder Einschalten in der Aufheizzeit berücksichtigen. (Will Kaffee - Doch nicht - Na, einer geht noch!)
So müsste die Zeit geprüft werde, wie lange in den letzten 30 Minuten der Schaltaktor eingeschaltet war.

Nun, da kommt man mit einem normalen Programm (vermute ich) nicht weiter.

Mit lieben homematischen Grüßen nach Graz
er.win (bin auch aus A)
Zuletzt geändert von er.win am 14.11.2017, 13:07, insgesamt 1-mal geändert.

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von Cash » 14.11.2017, 11:08

Die Frage ist halt ob es so genau sein muss? Wenn man es auch ohne Scipt ganz gut hinkriegt...

Man könnte das natürlich irgendwie mit Cuxd Timern oder auch "aktuelle Uhrzeit - letzte Änderung der Variable" berechnen nur ob es diesen Aufwand wert ist?

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von alchy » 14.11.2017, 12:03

Man kann natürlich den Zeitpunkt der Änderung der Systemvariable recht einfach auslesen. Inklusive der vorletzten Änderung und damit hat man dann schon etwas womit man rechnen kann, ob mit diesen beiden Zeitpunkten oder auch mit dem jetzt.

Aber sollte nicht die Variable gar nicht erst gesetzt werden, da ja die Verzögerung abgebrochen wird?

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

er.win
Beiträge: 26
Registriert: 25.09.2012, 07:25
System: CCU und Access Point
Danksagung erhalten: 1 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von er.win » 14.11.2017, 15:57

Hallo Alchy!
Schön, dass Du Dich dazu meldest. Habe schon einige Deiner Beiträge gelesen. Du bist ja ein erfahrener Fuchs.

Die Zustände meiner Variable soll ja den momentanen Zustand widerspiegeln. Das macht sich in meiner Fernbedienung recht gut und ist selbst erklärend. So muss immer der richtige, zur richtigen Zeit geändert werden.
Kaffee.png
Die vier Schaltzustände
Der Zweite wesentliche Punkt ist der zeitliche Ablauf. Und "JA" warum nicht so genau wie möglich.
Ist doch auch für andere Anwendungen interessant. (Andere Zeiten eintippen - fertig)

Ein oder zwei zusätzliche Variablen zu erstellen ist ja kein Problem.

Mir fehlen die Kenntnisse das in ein Skript zu packen.

Hast Du vielleicht einen Lösungsansatz für mich?

Mit homematischen Grüßen
er.win

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von alchy » 14.11.2017, 16:50

Lösungsansätze wird es sicherlich viele geben, ich werde hier allerdings kaum neue Projekte angehen.

Du musst dir überlegen, was so der geeignete Trigger zur Aktualiserung des Zustandes für deine Maschine ist.
Roland M. hat ja eine Möglichkeit mittels eines Programmes gepostet, was passt dir nicht daran?

Was die Variable angeht, die hast du ja schon in Benutzung - ich habe ja keine neue gefordert.
Nur den Hinweis abgegeben, das man den Änderungszeitpunkt von Datenpunkten auslesen kann.
Wenn du damit Probleme hast, kannst du dich ja melden.
Nur fehlt mir der Ansatz deinerseits.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
Roland M.
Beiträge: 9787
Registriert: 08.12.2012, 15:53
System: CCU
Wohnort: Graz, Österreich
Hat sich bedankt: 252 Mal
Danksagung erhalten: 1374 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von Roland M. » 14.11.2017, 17:00

Hallo!
alchy hat geschrieben:Roland M. hat ja eine Möglichkeit mittels eines Programmes gepostet, was passt dir nicht daran?
Soweit ich das beim zweiten (bzw. oftmaligem) Durchlesen neu interpretiert habe, könnte folgendes gemeint sein:

Kaffeemaschine seit 1 min ausgeschaltet -> Aufheizzeit bis "Bereit" 1 min.
Kaffeemaschine seit 29 min ausgeschaltet -> Aufheizzeit 29 min.
Kaffeemaschine 30 oder mehr Minuten ausgeschaltet -> Aufheizzeit 30 min.

Richtig interpretiert?

Kann das wirklich so einfach angesetzt werden? Ist das realistisch?
Und geht es da nur um eine nette Anzeige, oder sollen damit weitere Aktionen damit gesteuert werden?


Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
  • 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,...

er.win
Beiträge: 26
Registriert: 25.09.2012, 07:25
System: CCU und Access Point
Danksagung erhalten: 1 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von er.win » 14.11.2017, 18:14

Hallo Alchy, hallo Roland M!
Danke für Eure Antworten

@ Alchy:
Natürlich kannst Du mir das Skript nicht schreiben.
Würde auch zu weit gehen.
Meine Frage bezog sich darauf, ob möglicherweise Jemand so etwas schon gemacht hat.
Und ich melde mich gerne wieder, wenn ich zu meinem Projekt detailliertere Fragen habe. Danke Vielmals!

@Roland M.:
Du hast es auf den Punkt gebracht!
Deinen Lösungsansatz habe ich natürlich ausprobiert. Macht erwartungsgemäß Probleme beim Ein- und Ausschalten in der Aufheizphase.
(Nach 1 Minute -> Aus und wieder Ein = in 10 Minuten "Bereit")
Ich Danke auch Dir recht Herzlich.

Die Variable nutze ich zusätzlich, um im Zustand "Bereit", per Puschnachricht informiert zu werden.
Das Leben ist zu kurz um länger als nötig auf meinen Kaffee zu warten. :lol:
Die Maschine muss aber auch richtig heiß sein.

Ein herzliches Servus an Euch Beide
er.win

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Siebträgermaschine - Variable - Steuern - Skript

Beitrag von alchy » 14.11.2017, 22:50

er.win hat geschrieben: @ Alchy:
Natürlich kannst Du mir das Skript nicht schreiben.
Würde auch zu weit gehen.
Naja, da wärst du wohl nicht der Erste für den ich das getan hätte.
Eigentlich wollte ich es nicht mehr machen, aber weil du so nett fragst und ich vor allem Herausforderungen mag, versuche ich dir zu helfen.

Gehen wir das Ganze mal nochmal theoretisch durch.
Du schaltest also die Maschine über die Steckdose ein. Das Einschalten derselben stellt also den Trigger dar. Mehr ist nicht drin. (und ich denk zumindest auch nicht nötig)
Fakten:
  • Die Maschine braucht 30min um auf Betriebstemperatur zu kommen.
  • Wird die Maschine ausgeschalten, willst du das die Zeit bis 30min von der Aufheizzeit abgezogen wird.
    Also:
  • Schaltest du die Maschine aus und nach z.B. 10 Minuten wieder ein dann soll die Kiste nach 20 Minuten betriebsbereit sein.
  • Schaltest du die Maschine aus und nach z.B. 10 Sekunden wieder ein dann soll die Kiste nach 10 Sekunden wieder betriebsbereit sein.
  • Schaltest du die Maschine aus und erst nach > 30 Minuten wieder ein, soll betriebsbereit nach 30 Minuten auf wahr gehen.
Habe ich das soweit richtig dargelegt :?:

Würde es dir reichen, wenn eine Logikvariable mit Namen: Betriebsbereit genau dieses abbildet?
Dann könntest du mit einem kleinem Script in einem kleinen Klickibuntiprogramm
Betriebsbereit_nach_X_Programm.jpg
genau das haben.
Ich habe mal etwas zusammengestrickt und mit 60 Sekunden bis zur Betriebsbereitschaft laufen lassen:
Betriebsbereit_nach_X_Protokoll.jpg

Meld dich per PN, wenn ich dich richtig verstanden habe, oder schreib Zusatzinfos, falls ich daneben liege.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“