Programm wird nicht ausgeführt, warum?

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

lines
Beiträge: 34
Registriert: 07.07.2013, 09:55

Programm wird nicht ausgeführt, warum?

Beitrag von lines » 14.03.2019, 21:52

Hallo alle.

Nach dem Studium diverser Anleitung im Netz komme ich nicht weiter und wende mich daher hoffnungsvoll an die Gemeinschaft.

Bei uns soll ein vergleichbar simples Programm laufen:
Wenn eine Messsteckdose registriert, dass das Trockner läuft, dann wird eine Systemvariable entsprechend gesetzt.
Ist der Trockner fertig, dann wird sie wieder entsprechend geändert.
Dadurch soll eine MP3 Wiedergabe ("Der Trockner ist fertig") ausgelöst werden.

So sieht die Variable aus:
Screenshot_20190314_213343.png
Dieses Programm übernimmt das Setzen der Logikwerte:
(Im Aktor sind die entsprechenden Grenzen gesetzt)
Screenshot_20190314_213401.png
Das ganze soll dann über ein MP3-File am Gong ausgegeben werden:
Screenshot_20190314_213418.png
Die Systemvariable ändert sich erfolgreich nach dem Stromverbrauch! Das funktioniert also.

Wenn ich testweise eine Zeitschaltung in das Programm für die Gongausgabe einbaue (Führe das Programm um 13:00 Uhr aus), dann werden die Sounds um 13:00 abgespielt. D.h., dass der Gong die Files erfolgreich hörbar abspielen kann.

Warum wird das Gong-Programm NICHT bei einer Änderung der Systemvariable ausgeführt?
Wenn der Trockner fertig ist, kommt keine MP3-Durchsage obwohl die Variable erfolgreich geändert wird!

Wo ist der Denkfehler?

Danke für Tipps

lines

gzi
Beiträge: 309
Registriert: 12.01.2015, 23:37

Re: Programm wird nicht ausgeführt, warum?

Beitrag von gzi » 15.03.2019, 00:35

Hab jetzt nix Böses dran gefunden. Würde mal die CCU rebooten und dann Folgendes tun um das Problem einzugrenzen:
0. Die checkboxen zum retriggern ankreuzen
1. Die Sysvar via „Skript testen“ mal auf 0 und 1 setzen
2. Sysvar und Gerät auf protokolliert setzen , 1. wiederholen und dann das Protokoll checken
3. Das erste Pgm auf zwei aufteilen
4. Sysvar und Pgm löschen und neu anlegen
5. Firmware upgraden

Geht aber alles mit steigender Zahl eher in Richtung Kaffeesud lesen...

gzi
HomeMatic Sicherheits-Kompendium - SCS, CCU, diverse HM-Aktoren und Sensoren, UPS, SMS, Voice, Mail, HTTPS-Interface usw. (sicheres(!) Port-Forwarding aus dem Internet zur CCU und LAN-Firewall via SCS,100% Datenkraken-frei. wahrscheinlich auch NSA-sicher :-) ) - Checkliste für Auswahl von IP Kameras - Vergleich aktueller HomeMatic Zentralen - und alle Antworten für das gesamte Universum und den Rest

Benutzeravatar
Roland M.
Beiträge: 5070
Registriert: 08.12.2012, 15:53
Wohnort: Graz, Österreich
Hat sich bedankt: 24 Mal
Danksagung erhalten: 143 Mal

Re: Programm wird nicht ausgeführt, warum?

Beitrag von Roland M. » 15.03.2019, 01:47

Hallo!

Auch ich sehe keine besonderen Fehler, ich würde das Programm einfach einmal löschen und neu erstellen. Gerade wenn da oft editiert wurde, kommt es immer wieder vor, dass Programme dann aus unerfindlichen Gründen nicht mehr funktionieren.

Beim Neuanlegen würde ich es aber gleich bereinigen, bei einer "entweder/oder"-Abfrage muss das Gegenteil nicht mehr erneut in einem SONST-WENN geprüft werden. Genauso ist die Abfrage auf Entscheidungswert > 1 nicht recht sinnvoll, da der Entscheidungswert nur 0 oder 200 (?) sein kann - das ist aber nur ein kosmetischer Mangel... ;)

Also einfach:
WENN Funksteckdose bei Entscheidungswert > 0
DANN Trockner läuft
SONST Trockner fertig


Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
  • Bezeichnung (HM-...) 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
2. CCU2 per VPN mit ~30 Geräten
3. CCU2 per VPN mit ~40 Geräten
CCU1, Test-CCU2, Raspi mit Funkmodul,...

lines
Beiträge: 34
Registriert: 07.07.2013, 09:55

Re: Programm wird nicht ausgeführt, warum?

Beitrag von lines » 15.03.2019, 10:40

Danke Roland und gzi für die Tipps.

Ich habe die CCU2 neu gestartet.
Die Checkboxen sind auf retriggern gesetzt (und waren es auch).
Das Programm für den Trockner (WaschMasch analog, gleiche Problem) habe ich neu gemacht.

Rolands Anmerkung habe ich eingebaut. Soll heißen:
Wenn Entscheidungswert größer 1
dann läuft
sonst fertig.
(Ich finde die HM-Programm"logik" nur immer so unübersichtlich. Aber das ist ein anderes Thema.)

Mit einem kleinen Script habe ich die Variable manuell gesetzt und wieder auf fertig gesetzt. (im Webinterface unter Systemvariblen habe ich die Änderungen auch beobachten können!)
Nichts. Keine Soundausgabe! :-(

Beim Anlegen des Soundausgabeprogramms wurde jedoch das MP3-File abgespielt. => Das Soundausgabeprogramm funktioniert prinzipiell.

Thema Logfiles.
In den Einstellungen=> Systemsteuerung=> Zentralenwartung habe ich beide dortigen mir zur Verfügung stehenden Einstellmöglichkeiten auf "Alles loggen" gesetzt und auf "Einstellungen übernehmen" geklickt. Danach die Variable gesetzt und wieder auf "aus" gestellt.
Kein Sound.
An dieser Stelle möchte ich nicht ausschließen, dass ich ein "Logfile-Bedienungsfehler" gemacht habe. Das Logfile unterscheidet sich nämlich nicht von einem, das nur Fehler loggt!!!

Folgende Meldungen:

Code: Alles auswählen

Mar 15 10:20:14 de.eq3.lib.measurement.MeasurementService INFO  [Timer-0] Drop unhandled values (timeout) for diagram 1. Original time: 1552641298339 
Mar 15 10:20:24 de.eq3.cbcs.server.core.otau.DeviceBackgroundUpdateSubsystem INFO  [vert.x-eventloop-thread-0] SYSTEM: 0 Accesspoints in Queue 
Mar 15 10:20:24 de.eq3.cbcs.server.core.otau.DeviceBackgroundUpdateSubsystem INFO  [vert.x-eventloop-thread-0] SYSTEM: Permanent-/Burstlistener Handler utilization: 0/50 used 
Mar 15 10:20:24 de.eq3.cbcs.server.core.otau.DeviceBackgroundUpdateSubsystem INFO  [vert.x-eventloop-thread-0] SYSTEM: Eventlistener Handler utilization: 0/50 used 
Mar 15 10:20:56 de.eq3.lib.measurement.MeasurementService INFO  [Timer-0] Drop unhandled values (timeout) for diagram 1. Original time: 1552641344358 
letzte Zeile kommt oft vor!

Ich habe keine Firmware gefunden, die hier aktualisierbar wäre. Ausnahme: Das letzte Sicherheitsupdate der CCU2, unsere ist nur im LAN.
Grumpf!

manfredh
Beiträge: 2326
Registriert: 09.09.2012, 10:41
Hat sich bedankt: 1 Mal
Danksagung erhalten: 25 Mal

Re: Programm wird nicht ausgeführt, warum?

Beitrag von manfredh » 15.03.2019, 11:40

Ein immer wieder auftretendes Problem:

Wenn man nachträglich an einer Systemvariable rumfummelt (z.B. Namen oder Wertebezeichung ändert), gehen regelmäßig Programme nicht mehr, die diese verwenden.

Da hilft dann oft nur, die Zeile im Programm zu löschen und neu einzufügen.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

lines
Beiträge: 34
Registriert: 07.07.2013, 09:55

Re: Programm wird nicht ausgeführt, warum?

Beitrag von lines » 15.03.2019, 13:23

Wenn man nachträglich an einer Systemvariable rumfummelt (z.B. Namen oder Wertebezeichung ändert), gehen regelmäßig Programme nicht mehr, die diese verwenden.

Da hilft dann oft nur, die Zeile im Programm zu löschen und neu einzufügen.
Habe ich gemacht.

Leider ist auch dieser Strohhalm nicht tragfähig.
(Die Zeilen mit dem Abfragen der Systemvariable in den Programmen wurde gelöscht und wieder eingefügt.)

Da ja eine "Zeitschaltung" den Gong auslöst, nicht aber die Änderung der Systemvariable, diese aber korrekt geändert wird, muss es ja an dem dem auslösenden Teil im "Soundausgabeprogramm" liegen.
Deine Idee hätte von daher so prima gepasst...
Hätte. :idea:

Benutzeravatar
Sammy
Beiträge: 8571
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 2 Mal
Danksagung erhalten: 67 Mal

Re: Programm wird nicht ausgeführt, warum?

Beitrag von Sammy » 15.03.2019, 13:29

Ich vermute, die Variable wird per Skript geändert und dabei der falsche Befehl (ohne Generierung eines Events) verwendet.
Richtig müsste .state sein. Bin aber kein Script Experte.
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
Black
Beiträge: 2154
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 14 Mal
Danksagung erhalten: 47 Mal
Kontaktdaten:

Re: Programm wird nicht ausgeführt, warum?

Beitrag von Black » 15.03.2019, 13:36

schreib einmal unter script testen im editor bitte

dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Trockner").State (false);

und danach

dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Trockner").State (true);


bimmelt das danach oder imme rnoch nicht ?
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.47.22.20191026 mit Groundplane Antennenmod
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.09.05 Scripteditor und Objektinspektor

lines
Beiträge: 34
Registriert: 07.07.2013, 09:55

Re: Programm wird nicht ausgeführt, warum?

Beitrag von lines » 15.03.2019, 13:52

Black hat geschrieben:
15.03.2019, 13:36
schreib einmal unter script testen im editor bitte

dom.GetObject (ID_SYSTEM_VARIABLES).Get ("Trockner").State (false);
bimmelt das danach oder imme rnoch nicht ?
Ich habe nur die erste Zeile eingegeben und..... Juhu " Achtung der Trockner ist fertig" ertönte.

Was heißt das aber jetzt?


@Sammy
Die Variable wird in einem kleinen Programm geändert (s. Screenshot im ersten Post):
Wenn der Strom des Messaktors unter x mA fällt,
dann setze nach 2 Minuten die Systemvariable entsprechend.

Wie generiere ich denn dann dies Event?

Danke aber schon mal für diesen Tipp, was auch immer der gemacht hat, er hat weiter geholfen.

Benutzeravatar
Black
Beiträge: 2154
Registriert: 12.09.2015, 22:31
Wohnort: Wegberg
Hat sich bedankt: 14 Mal
Danksagung erhalten: 47 Mal
Kontaktdaten:

Re: Programm wird nicht ausgeführt, warum?

Beitrag von Black » 15.03.2019, 14:01

das heisst, dass die systemvariable dein trocknerprogramm triggert.
Die Wahrheit ist ein Chor aus Wind
Meine Seite, ok noch bisschen im Aufbau

RaspberryMatic 3.47.22.20191026 mit Groundplane Antennenmod
jede Menge Sensoren und Aktoren, Logamatic 2107 Gateway zum Buderus Kessel
ioBroker unter ProxMox auf NUC als Hauptsteuersystem und Visualisierung
Script Time Scheduler V1.3
SDV 3.09.05 Scripteditor und Objektinspektor

Antworten

Zurück zu „HomeMatic allgemein“