Gerät nach Inaktivität nach 15 Minuten ausschalten

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Arthy
Beiträge: 103
Registriert: 17.12.2014, 00:03
System: CCU
Danksagung erhalten: 1 Mal

Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von Arthy » 24.04.2019, 23:31

Hallo Gemeinde,

habe folgendes Problem: Möchte einen 3D Drucker nach 15 minütiger Inaktivität automatisch über einen Funkstecker einfach ausschalten. Habe mir das Ganze folgendermaßen gedacht. Wie unten im Programm dargestellt wird der Druckstatus über eine Systemvariable (octoprint_status) abgefragt. Beim Drucken steht sie auf "Printing". Im anschließenden Leerlauf wechselt sie nach "Operational".
Drucker aus.jpg
Diese wir alle 3 min abgefragt und aktualisiert. Ist der Druck nun fertig, kommt es zur Änderung und das Programm läuft durch. Ursprünglich habe ich einfach nur nach 15 Minuten die Funkdose ausgeschaltet. Funktionierte ohne Probleme. Leider gibt es aber den Fall, dass ich nach einem Druckvorgang unmittelbar weiterdrucken möchte. Hier wird der Drucker dann aber unabhängig vom Druckstatus immer ausgeschaltet. Ärgerlich, wenn zwischenzeitlich ein neuer Druckauftrag gerade angefangen hat. Um das zu verhindern führe ich im DANN Abschnitt das folgende Skript nach 15 Minuten aus:

Code: Alles auswählen

var Druckerstatus = dom.GetObject('octoprint_status').Value();
if ( Druckerstatus.Value() == "Operational") { dom.GetObject("BidCos-RF.LEQ0360583:1.STATE").State(0); }

string nachricht = "3D-Drucker wurde ausgeschaltet!";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d token=XXX -d user=YYY-d message='"#nachricht#"' -d html=1 -d priority=0 https://api.pushover.net/1/messages.json");


Leider wird die Funkdose immer noch nach 15 Minuten unabhängig von der octoprint_status Variable ausgeschaltet. Kann mir jemand vielleicht helfen und mir sagen, wo der Denkfehler hier liegt?
Das wäre super.

Besten Dank

Gruß
Arthy

Benutzeravatar
Sammy
Beiträge: 9172
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 15 Mal
Danksagung erhalten: 174 Mal

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von Sammy » 25.04.2019, 07:36

Hallo,

Du brauchst kein Skript, lediglich ein richtig zusammengebautes Programm.

Wenn Operational
Dann verzögert um 15Min Aktor aus
Sonst (wenn Printing)
Dann sofort Aktor an

Wenn aber öfter zwischen beiden Zustaänden gewechselt wird, wird der Aktor oft angefunkt. Um das zu verhindern, kann man noch mit einer Systemvariable und einem 2. Programm arbeiten:

Wenn Operational
Dann verzögert um 15Min SV_Drucker aus
Sonst (wenn Printing)
Dann sofort SV_Drucker an

Wenn SV_Drucker aus
Dann sofort Aktor aus
Sonst (wenn SV_Drucker an)
Dann sofort Aktor an

Gruß Sammy
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Arthy
Beiträge: 103
Registriert: 17.12.2014, 00:03
System: CCU
Danksagung erhalten: 1 Mal

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von Arthy » 27.04.2019, 01:54

Hallo Sammy,

vielen Dank für deine Antwort. Wie du schon beschrieben hast, wäre die zweite Lösung auf jeden Fall sinnvoller. Aber genau aus dem Grund, dass man nicht noch eine zusätzliche Variable anlegen muss, wollte ich es mit dem oben beschriebenen Skript lösen. Verstehe aber wirklich nicht, warum er den Drucker immer nach den 15 Minuten ausschaltet, unabhängig von dem Status der Variable. Würde bei deinem ersten Vorschlag der Drucker aber auch nicht dann ausgehen falls in der Zwischenzeit die Variable doch auf "Printing" wechseln würde?

Besten Dank

Gruß
Arthy

Benutzeravatar
Sammy
Beiträge: 9172
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 15 Mal
Danksagung erhalten: 174 Mal

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von Sammy » 27.04.2019, 10:22

Skript hab ich keine Ahnung.
Es ist auf jeden Fall überflüssig.
Und es ist doch wesentlich einfacher, eine Variable statt eines ganzen Skripts zu verwenden.
Arthy hat geschrieben:
27.04.2019, 01:54
Würde bei deinem ersten Vorschlag der Drucker aber auch nicht dann ausgehen falls in der Zwischenzeit die Variable doch auf "Printing" wechseln würde?
Nein, genau deshalb hab ich die Anleitung doch gepostet.
Wenn Du nicht verstehst, warum das wie funktioniert, solltest Du Dich vielleicht mit den Grundlagen im WebUI Handbuch und den Tipps für Anfänger beschäftigen.
Durch den Retrigger-Haken bei der gegenteiligen Aktion wird die laufende Verzögerung abgebrochen.

Gruß Sammy
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Benutzeravatar
eiGelbGeek
Beiträge: 979
Registriert: 24.07.2014, 17:46
Wohnort: Ruhrpottrandgebiet
Hat sich bedankt: 105 Mal
Danksagung erhalten: 19 Mal

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von eiGelbGeek » 06.04.2021, 16:50

Fehler im Skript würde ich sagen :D

Ändere

Code: Alles auswählen

var Druckerstatus = dom.GetObject('octoprint_status').Value();
if ( Druckerstatus.Value() == "Operational") { dom.GetObject("BidCos-RF.LEQ0360583:1.STATE").State(0); }
in

Code: Alles auswählen

var Druckerstatus = dom.GetObject('octoprint_status').Value();
if ( Druckerstatus == "Operational") { dom.GetObject("BidCos-RF.LEQ0360583:1.STATE").State(0); }
oder

Code: Alles auswählen

var Druckerstatus = dom.GetObject('octoprint_status').Value();
if ( Druckerstatus == 1 ) { dom.GetObject("BidCos-RF.LEQ0360583:1.STATE").State(0); }
Kommt drauf an was es für eine Systemvariable ist.
Nur weil es nicht geht, muss es nicht kaputt sein ^^

Apple for Work, Linux for Network, iOS for Mobility and still Windows for Solitaire

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

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von Roland M. » 06.04.2021, 17:09

Hallo!
eiGelbGeek hat geschrieben:
06.04.2021, 16:50
Fehler im Skript würde ich sagen :D
Glaubst du, dass der TE nach fast zwei Jahren noch die Lösung sucht? ;)

Ändere
...wenn er auch noch vor 8 Monaten zuletzt im Forum war? ;)


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,...

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von Gluehwurm » 06.04.2021, 18:12

Da hätte man auch den Jahrestag abwarten können ... :mrgreen:

Benutzeravatar
eiGelbGeek
Beiträge: 979
Registriert: 24.07.2014, 17:46
Wohnort: Ruhrpottrandgebiet
Hat sich bedankt: 105 Mal
Danksagung erhalten: 19 Mal

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von eiGelbGeek » 24.04.2021, 00:53

Roland M. hat geschrieben:
06.04.2021, 17:09
Hallo!
eiGelbGeek hat geschrieben:
06.04.2021, 16:50
Fehler im Skript würde ich sagen :D
Glaubst du, dass der TE nach fast zwei Jahren noch die Lösung sucht? ;)

Ändere
...wenn er auch noch vor 8 Monaten zuletzt im Forum war? ;)


Roland
Dann lösch doch einfach das ganze Topic....

In einen Forum soll es User geben die nach Lösungen suchen und dann auf andere Problemfälle stoßen... und jetzt hätten sie für dieses Problem eine Lösung ... also so abwägig die Lösung in einen älteren Posting zu schreiben?

Das ist leider nicht das erste mal das so überflüssige Kommentare von dir kommen......
Nur weil es nicht geht, muss es nicht kaputt sein ^^

Apple for Work, Linux for Network, iOS for Mobility and still Windows for Solitaire

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

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von Roland M. » 24.04.2021, 01:04

eiGelbGeek hat geschrieben:
24.04.2021, 00:53
Dann lösch doch einfach das ganze Topic....
Nein, das werde ich nicht machen, weil...
In einen Forum soll es User geben die nach Lösungen suchen
;)
und jetzt hätten sie für dieses Problem eine Lösung ...
Also stellst du die Lösung von Sammy in Abrede?

also so abwägig die Lösung in einen älteren Posting zu schreiben?
Nein, aber deine Wortwahl deutete auf eine direkte Anrede des TE.

Das ist leider nicht das erste mal das so überflüssige Kommentare von dir kommen......
Oh, sorry, wusste ich nicht.
Na, dann mach einfach den nächsten Strich bei mir in der Liste.


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,...

Benutzeravatar
eiGelbGeek
Beiträge: 979
Registriert: 24.07.2014, 17:46
Wohnort: Ruhrpottrandgebiet
Hat sich bedankt: 105 Mal
Danksagung erhalten: 19 Mal

Re: Gerät nach Inaktivität nach 15 Minuten ausschalten

Beitrag von eiGelbGeek » 24.04.2021, 13:15

Roland M. hat geschrieben:
24.04.2021, 01:04
Also stellst du die Lösung von Sammy in Abrede?
Nein... wenn du es aufmerksam gelesen hättest, hättest du gesehen das Sammy geschrieben hat:
Sammy hat geschrieben:
27.04.2019, 10:22
Skript hab ich keine Ahnung.
Aber scheinbar hast du zuviel Langeweile und willst der User oh sorry MODERATOR sein mit den meisten Postings?
Nur weil es nicht geht, muss es nicht kaputt sein ^^

Apple for Work, Linux for Network, iOS for Mobility and still Windows for Solitaire

Antworten

Zurück zu „HomeMatic allgemein“