Programm wird nicht ausgeführt, warum?
Moderator: Co-Administratoren
Programm wird nicht ausgeführt, warum?
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:
Dieses Programm übernimmt das Setzen der Logikwerte:
(Im Aktor sind die entsprechenden Grenzen gesetzt) Das ganze soll dann über ein MP3-File am Gong ausgegeben werden: 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
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:
Dieses Programm übernimmt das Setzen der Logikwerte:
(Im Aktor sind die entsprechenden Grenzen gesetzt) Das ganze soll dann über ein MP3-File am Gong ausgegeben werden: 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
-
- Beiträge: 450
- Registriert: 12.01.2015, 23:37
- System: CCU
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 15 Mal
Re: Programm wird nicht ausgeführt, warum?
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
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
Lichtsteuerung, Heizungssteuerung, Überwachung (Feuer, Wasser, Einbruch, Stromausfall, Heizungsausfall, Wetter, Kamera), Alarmierung (optisch, akustisch, mail, SMS, voice call) - CCU, diverse HM- und HMIP Aktoren und Sensoren, Rauchmeldeanlage, UPS, GSM-Alarmwähler, Zugriff aus dem Internet via HTTPS und htdigest authentication, kein Datenkraken-Interface (Google, Amazon, China-Cloud, BND, NSA...) - HomeMatic Sicherheits-Kompendium - Checkliste für Auswahl von IP Kameras - Vergleich aktueller HomeMatic Zentralen - und alle Antworten für das gesamte Universum und den Rest
- Roland M.
- Beiträge: 9852
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 255 Mal
- Danksagung erhalten: 1397 Mal
Re: Programm wird nicht ausgeführt, warum?
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
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:
-----------------------------------------------------------------------
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,...
- 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,...
Re: Programm wird nicht ausgeführt, warum?
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:
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!
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
Ich habe keine Firmware gefunden, die hier aktualisierbar wäre. Ausnahme: Das letzte Sicherheitsupdate der CCU2, unsere ist nur im LAN.
Grumpf!
-
- Beiträge: 4157
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 79 Mal
- Danksagung erhalten: 301 Mal
Re: Programm wird nicht ausgeführt, warum?
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.
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.
Re: Programm wird nicht ausgeführt, warum?
Habe ich gemacht.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.
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.
- Sammy
- Beiträge: 9172
- Registriert: 09.09.2008, 20:47
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 174 Mal
Re: Programm wird nicht ausgeführt, warum?
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.
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!
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!
- Black
- Beiträge: 5508
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 427 Mal
- Danksagung erhalten: 1088 Mal
- Kontaktdaten:
Re: Programm wird nicht ausgeführt, warum?
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 ?
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 ?
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
Re: Programm wird nicht ausgeführt, warum?
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.
- Black
- Beiträge: 5508
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 427 Mal
- Danksagung erhalten: 1088 Mal
- Kontaktdaten:
Re: Programm wird nicht ausgeführt, warum?
das heisst, dass die systemvariable dein trocknerprogramm triggert.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising