Also diese ganzen ZZ mach mich kirre.
Jetzt wo die Katze (INGMAR?) aus dem Sack ist könntest du mal den Screenshot updaten.
Also aktueller Stand ohne Zensur.
Ich vermute es ist: "ZZ 20 01 Licht M****"
Wird ja im ersten DANN sofort auf "WAHR" gesetzt
Das ist eine Änderung und triggert damit (aus dem Sonst wenn heraus) sofort wieder das Programm
Und das geht dann immer so weiter, schöne Schleife.
Abhilfe: Das ganze "Sonst, wenn" in ein eigenes Programm verlegen.
ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Moderator: Co-Administratoren
- Baxxy
- Beiträge: 10780
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 604 Mal
- Danksagung erhalten: 2205 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
- Henke
- Beiträge: 1521
- Registriert: 27.06.2022, 20:51
- System: CCU
- Hat sich bedankt: 140 Mal
- Danksagung erhalten: 306 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Wenn du wirklich den Shelly in den CCU-Jack verlegt hast, gibt es eigentlich direkt die Möglichkeit An/Aus zu schalten. Ohne Exec oder wget.
Das macht auf Dauer die Installation wesentlich übersichtlicher.
Den Fehler vermute ich jedoch liegt im Programm selber. Da ist Baxxy auf dem richten Weg.
Das macht auf Dauer die Installation wesentlich übersichtlicher.
Den Fehler vermute ich jedoch liegt im Programm selber. Da ist Baxxy auf dem richten Weg.
-
- Beiträge: 7
- Registriert: 16.01.2023, 21:25
- System: CCU
- Hat sich bedankt: 2 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Aber lieber BAXXY!
Nu höre doch mal auf über die Bezeichnung meiner Variablen zu mosern!
Für dich(!!!) benenne ich den Kram sogar um, falls es nicht anders geht. Eigentlich sind es nur Krücken, um ein Abschalten des Lichtes nach 15min zu realisieren bzw. dieses zu verhindern, wenn INGMAR innerhalb "meiner" 15min eintrudelt und dann auch (neu gestartet) seine 15min Licht haben soll.
Ich habe Alchy´s "Programme_loggen" mühevoll zum Laufen bekommen und es hat mir in der Tat angezeigt, das permanent ZZ 20 01 Licht M****" getriggert wird.
Ich bin noch nicht so firm in der Netiquette hier und wollte nicht gleich INGMAR´s Identität preisgeben. INGMAR heißt ILONA und ist schon wieder pissed, weil ich den Kram nicht geregelt bekomme und kurz wieder vorm Rechner sitze.
Ich hänge die einmal in Klarnamen und OHNE geänderte Bezeichnung der Systemvariablen (sei tapfer! es kommen noch mehr "ZZ....") das Auslöseprogramm für die Übeltäter-Systemvariable und das angepasste, bereits im ersten Post gezeigte "Auslöse"-Programm für die Lampe rein.
Hier das Auslöse-Programm für die Systemvariable, mit Anwesenheitserkennung und anderen Auslösern. Und hier in Klarnamen und mit korrekten Tatsendrückern das Lampen-Programm Ich schalte den Krempel morgen noch einmal in Ruhe scharf und hänge dir das Systemprotokoll mit rein. Ich würde das gerne morgen nochmals sauber laufen lassen. Durch die wild deaktivierten Programm isses ein wenig schwer zu verstehen - für mich.
Ich traue es mir nicht zu schreiben, aber du musst mir bei Gelegenheit die Endlos-Schleife meines Kunstwerkes erklären, ich checke es nicht ganz.
Ich möchte mich aber schon einmal explizit für die bisherige Hilfe bedanken!!!!
Ich muss hier aber abbrechen, sonst probiere ich wieder die ganze Nacht und INGMAR rächt sich grausam dafür!
Grüße,
Mario
Nu höre doch mal auf über die Bezeichnung meiner Variablen zu mosern!
Für dich(!!!) benenne ich den Kram sogar um, falls es nicht anders geht. Eigentlich sind es nur Krücken, um ein Abschalten des Lichtes nach 15min zu realisieren bzw. dieses zu verhindern, wenn INGMAR innerhalb "meiner" 15min eintrudelt und dann auch (neu gestartet) seine 15min Licht haben soll.
Ich habe Alchy´s "Programme_loggen" mühevoll zum Laufen bekommen und es hat mir in der Tat angezeigt, das permanent ZZ 20 01 Licht M****" getriggert wird.
Ich bin noch nicht so firm in der Netiquette hier und wollte nicht gleich INGMAR´s Identität preisgeben. INGMAR heißt ILONA und ist schon wieder pissed, weil ich den Kram nicht geregelt bekomme und kurz wieder vorm Rechner sitze.
Ich hänge die einmal in Klarnamen und OHNE geänderte Bezeichnung der Systemvariablen (sei tapfer! es kommen noch mehr "ZZ....") das Auslöseprogramm für die Übeltäter-Systemvariable und das angepasste, bereits im ersten Post gezeigte "Auslöse"-Programm für die Lampe rein.
Hier das Auslöse-Programm für die Systemvariable, mit Anwesenheitserkennung und anderen Auslösern. Und hier in Klarnamen und mit korrekten Tatsendrückern das Lampen-Programm Ich schalte den Krempel morgen noch einmal in Ruhe scharf und hänge dir das Systemprotokoll mit rein. Ich würde das gerne morgen nochmals sauber laufen lassen. Durch die wild deaktivierten Programm isses ein wenig schwer zu verstehen - für mich.
Ich traue es mir nicht zu schreiben, aber du musst mir bei Gelegenheit die Endlos-Schleife meines Kunstwerkes erklären, ich checke es nicht ganz.
Ich möchte mich aber schon einmal explizit für die bisherige Hilfe bedanken!!!!
Ich muss hier aber abbrechen, sonst probiere ich wieder die ganze Nacht und INGMAR rächt sich grausam dafür!
Grüße,
Mario
-
- Beiträge: 7
- Registriert: 16.01.2023, 21:25
- System: CCU
- Hat sich bedankt: 2 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
@ Henke
Jupp, ich überleg es mir. Da die ganze Sch* wieder den selben Fehler hatte, habe ich den CCU-Jack wieder rausgekickt. Aber das lässt sich rückgängig machen.
Ich denke Baxxy ist echt auf dem richtigen Weg.
Grüße,
Mario.
Jupp, ich überleg es mir. Da die ganze Sch* wieder den selben Fehler hatte, habe ich den CCU-Jack wieder rausgekickt. Aber das lässt sich rückgängig machen.
Ich denke Baxxy ist echt auf dem richtigen Weg.
Grüße,
Mario.
- Baxxy
- Beiträge: 10780
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 604 Mal
- Danksagung erhalten: 2205 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Das sieht jetzt schon besser aus und lässt sich leichter "lesen" und überblicken.
Das Problem an sich bleibt natürlich und lässt sich am einfachsten durch abtrennen des 'Sonst, wenn' in ein separates Programm beheben.
Programme werden immer von oben nach unten abgearbeitet und durch alles was nicht "nur prüfen" ist getriggert.
Die "Zusatzbedingung" 'bei Änderung' wird nicht im Vorfeld geprüft sondern erst wenn der triggernde Wert "an der Reihe" ist.
Dazu kommt es aber nicht da das Programm immer im ersten DANN landet und sich dann beendet.
A:Dein Programm rennt (durch "Lichtbedarf Mario" bzw. "Licht Mario" getriggert) los.
B: "Lichtbedarf Mario" hat sich geändert = WAHR;
C: "Lichtbedarf Mario" steht auf 'ist wahr' = WAHR;
D: alle Prüfbedingungen ok = WAHR;
DANN
E: "Licht Mario" --> setze auf 'ist wahr'
"Licht Mario" ist ein Trigger im 'Sonst, wenn' also springe zu... A
A: Jetzt rennt dein Programm (durch "Licht Mario" getriggert) los.
B: "Lichtbedarf Mario" ist nicht der Trigger muss also nicht auf Änderung geprüft werden;
C: "Lichtbedarf Mario" steht auf 'ist wahr' = WAHR;
D: alle Prüfbedingungen ok = WAHR;
DANN
E: "Licht Mario" --> setze auf 'ist wahr'
"Licht Mario" ist ein Trigger im 'Sonst, wenn' also springe zu... A
usw.
Durch den Retrigger-Haken werden auch die Timer immer wieder neu gestartet so das "Lichtbedarf Mario" nicht mehr auf 'ist falsch' gesetzt wird.
Schwer zu erklären, vielleicht kommt @Xel66 noch vorbei... er kann das besser.
Das Problem an sich bleibt natürlich und lässt sich am einfachsten durch abtrennen des 'Sonst, wenn' in ein separates Programm beheben.
Programme werden immer von oben nach unten abgearbeitet und durch alles was nicht "nur prüfen" ist getriggert.
Die "Zusatzbedingung" 'bei Änderung' wird nicht im Vorfeld geprüft sondern erst wenn der triggernde Wert "an der Reihe" ist.
Dazu kommt es aber nicht da das Programm immer im ersten DANN landet und sich dann beendet.
A:Dein Programm rennt (durch "Lichtbedarf Mario" bzw. "Licht Mario" getriggert) los.
B: "Lichtbedarf Mario" hat sich geändert = WAHR;
C: "Lichtbedarf Mario" steht auf 'ist wahr' = WAHR;
D: alle Prüfbedingungen ok = WAHR;
DANN
E: "Licht Mario" --> setze auf 'ist wahr'
"Licht Mario" ist ein Trigger im 'Sonst, wenn' also springe zu... A
A: Jetzt rennt dein Programm (durch "Licht Mario" getriggert) los.
B: "Lichtbedarf Mario" ist nicht der Trigger muss also nicht auf Änderung geprüft werden;
C: "Lichtbedarf Mario" steht auf 'ist wahr' = WAHR;
D: alle Prüfbedingungen ok = WAHR;
DANN
E: "Licht Mario" --> setze auf 'ist wahr'
"Licht Mario" ist ein Trigger im 'Sonst, wenn' also springe zu... A
usw.
Durch den Retrigger-Haken werden auch die Timer immer wieder neu gestartet so das "Lichtbedarf Mario" nicht mehr auf 'ist falsch' gesetzt wird.
Schwer zu erklären, vielleicht kommt @Xel66 noch vorbei... er kann das besser.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 14149
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 583 Mal
- Danksagung erhalten: 1497 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Passt schon so. Gut analysiert. Die Krux dabei ist, dass die Prüfung der Bedingung auf "bei Änderung/bei Aktualisierung" (vermutlich) ein Teil der Bedingungsprüfung der Programme selbst ist (und nicht im Vorfeld abgeprüft wird). Zumindest ergeben das Tests. In einfachen Programmen stellt sich das aber so wie dokumentiert dar, nur eben in komplexeren Programmen nicht mehr.
Die Bedingungsprüfung eines Programms läuft stur "von oben nach unten" ab und prüft nur die aktuellen Status zum Zeitpunkt der Prüfung (nachdem irgendein Trigger innerhalb des Programms sich geändert/aktualisiert hat - und das ist die Falle) und nicht, ob sich aktuell eine Änderung ergeben hat (bis zu der Bedingung kommt der Prüflauf aber gar nicht). Diese Prüfung trifft im ersten WENN schon auf eine WAHRe Bedingung und führt das DANN aus. Dieses setzt wieder die Systemvariable und das Programm wird wieder getriggert. Somit stellt das Programm eine sich selbst aufrufende Schleife dar. Klassischer Schuss ins eigene Knie und erklärt sich leider nicht von selbst. Die Ursache liegt eben in der ungewöhnlichen Art und Weise, wie die CCU Programme triggert und deren Bedingungen prüft. Einfache Lösung des Problems nur durch Abtrennen des SONST WENN in ein separates Programm möglich.
Eigentlich hatte ich bis zum Lesen des oben zitierten Satzes mit meinem Nic schon die Maus auf dem "Tab schließen"-Button. Die vielen ähnlichen Bezeichnungen waren mir einfach zu anstrengend zu lesen. Vielleicht ergibt das ja einen Sinn, ist aber für den Außenstehenden mehr als verwirrend. Aber Außenstehende müssen ja im Normalfall damit nicht klarkommen.
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 7
- Registriert: 16.01.2023, 21:25
- System: CCU
- Hat sich bedankt: 2 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Guten Abend zusammen!
Baxxy hatte in der Tat den richtigen Riecher.
Ich habe heute früh die vorgeschlagene Trennung des SONST WENN durchgeführt, das ALCHY-Skript mitlaufen lassen und es funktioniert alles!
Danke für die Geduld und die Lösungsführung!
Mario
Baxxy hatte in der Tat den richtigen Riecher.
Ich habe heute früh die vorgeschlagene Trennung des SONST WENN durchgeführt, das ALCHY-Skript mitlaufen lassen und es funktioniert alles!
Danke für die Geduld und die Lösungsführung!
Mario
- Baxxy
- Beiträge: 10780
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 604 Mal
- Danksagung erhalten: 2205 Mal
Re: ShellyPlus 1 - Ansteuerung über CCU3 und das RELAIS hängt sich auf
Also wenn ich mir das "xyz LICHTBEDARF MARIO" so anschaue...
Alles doppelt im ersten Wenn, einziger Unterschied die Zeitmodule und (vernachlässigbar) die Helligkeit. (< 200 vs <= 200)
Komprimiert dann beispielhaft so:
(das 'Sonst, wenn' bleibt wie es ist)
Alles doppelt im ersten Wenn, einziger Unterschied die Zeitmodule und (vernachlässigbar) die Helligkeit. (< 200 vs <= 200)
Komprimiert dann beispielhaft so:
(das 'Sonst, wenn' bleibt wie es ist)
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen