HMIP-PS: Programm zum manuellen Schalten
Moderator: Co-Administratoren
-
- Beiträge: 9
- Registriert: 24.10.2020, 13:50
- System: CCU
- Hat sich bedankt: 3 Mal
HMIP-PS: Programm zum manuellen Schalten
Moin Forum,
ich bin Anfänger in der HMIP-Programmierung und habe die viel beschriebenen Verständnisprobleme mit der Logik.
Der Code schaltet die Steckdose nur aus, nicht aber ein. Also wird die Sonst-Bedingung wird nicht ausgeführt. Warum?
Mit 2 Programmen für jeweils "ein" und "aus" habe ich es hinbekommen. Aber 1 Programm sollte doch genügen.
Die Steckdose selbst bietet drei Schaltaktoren. Welcher ist zu nehmen? Oder ist das egal?
Im Voraus danke für die Erklärung.
ich bin Anfänger in der HMIP-Programmierung und habe die viel beschriebenen Verständnisprobleme mit der Logik.
Der Code schaltet die Steckdose nur aus, nicht aber ein. Also wird die Sonst-Bedingung wird nicht ausgeführt. Warum?
Mit 2 Programmen für jeweils "ein" und "aus" habe ich es hinbekommen. Aber 1 Programm sollte doch genügen.
Die Steckdose selbst bietet drei Schaltaktoren. Welcher ist zu nehmen? Oder ist das egal?
Im Voraus danke für die Erklärung.
-
- Beiträge: 14297
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 601 Mal
- Danksagung erhalten: 1529 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Erklären kann man Dir nicht, was Du falsch machst (das Programm ist an und für sich überflüssig). Du müsstest erklären, was Du von diesem Programm erwartest und warum du es angelegt hast, denn dieses Programm kann eigentlich den Aktor nur einschalten. Eigentlich definiert man Auslöser eines Programmes (Taste, Bedingung etc.) und lässt dann einen Aktor schalten. Hier triggert das Einschalten des Aktors (WENN) das Ausschalten (DANN). Sinnvoll ist das nicht und mit zwei derartigen gegensätzlichen Programmen kannst Du Dir Dein System auf den Bauch legen, da sich die Programme gegenseitig Triggern und dann den Aktor stetig ein- und ausschalten, was den Duty Cycle treibt.
Gruß Xel66
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: 9
- Registriert: 24.10.2020, 13:50
- System: CCU
- Hat sich bedankt: 3 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Na ja, es geht um grundsätzliches Verständnis, unabhängig davon, ob das Programm sinnvoll ist oder nicht. Wie hätte das Programm auszusehen?
- Baxxy
- Beiträge: 11084
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 638 Mal
- Danksagung erhalten: 2299 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Noch Sonntagsschlaf in den Augen Xel? Nur prüfen...
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
- Baxxy
- Beiträge: 11084
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 638 Mal
- Danksagung erhalten: 2299 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Als Einsteiger ist der "niedrigste" Schaltkanal vorzuziehen. Bei einer HmIP-PS wäre das Kanal:3.frankieman hat geschrieben: ↑08.11.2020, 13:56Die Steckdose selbst bietet drei Schaltaktoren. Welcher ist zu nehmen? Oder ist das egal?
Kanal:2 zeigt immer an ob das Relais geschlossen ist und somit Strom fließt.
Kanal:3-5 sind "virtuelle Kanäle" die sich mit diversen Logiken miteinander verknüpfen lassen. In der Standardkonfiguration steht bei allen 3 die Logik auf "ODER", das heißt es ist egal welchen du nimmst. Solange nur einer der 3 Kanäle "EIN" ist, ist auch der Schaltausgang (Kanal:2) "EIN".
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: 4157
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 79 Mal
- Danksagung erhalten: 301 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Vieles ist schon gesagt. Hier mal zusammengefasst im Sinne der Logik:
Zuerst einmal: das Programm wird (von Ausnahmen, auf die ich hier erst mal ggü. einem Anfänger nicht eingehen möchte) nie ausgeführt!
Das "nur prüfen" hinter der Wenn-Zeile heißt im Langtext: "Wenn das Programm einmal angestoßen / ausgeführt wird, muss der Schaltzustand Ein des HMIP-PS... nur geprüft werden".
Stellst du das "nur prüfen " um auf "bei Änderung auslösen" (mache es bitte nicht!!!), passiert folgendes:
HMIP-PS... wird (wie auch immer) eingeschaltet (z.B, über das WebUi). Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist wahr (HMIP-PS... ist ja ein)
- HMIP-PS... wird ausgeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist nicht wahr (HMIP-PS... ist ja aus)
- HMIP-PS... wird eingeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist wahr (HMIP-PS... ist ja ein)
- HMIP-PS... wird ausgeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist nicht wahr (HMIP-PS... ist ja aus)
- HMIP-PS... wird eingeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist wahr (HMIP-PS... ist ja ein)
- HMIP-PS... wird ausgeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist nicht wahr (HMIP-PS... ist ja aus)
- HMIP-PS... wird eingeschaltet
...usw. bis zum jüngsten Tag.
Vermutlich wird sich aber die CCU in der Endlosschleife aufhängen.
Zuerst einmal: das Programm wird (von Ausnahmen, auf die ich hier erst mal ggü. einem Anfänger nicht eingehen möchte) nie ausgeführt!
Das "nur prüfen" hinter der Wenn-Zeile heißt im Langtext: "Wenn das Programm einmal angestoßen / ausgeführt wird, muss der Schaltzustand Ein des HMIP-PS... nur geprüft werden".
Stellst du das "nur prüfen " um auf "bei Änderung auslösen" (mache es bitte nicht!!!), passiert folgendes:
HMIP-PS... wird (wie auch immer) eingeschaltet (z.B, über das WebUi). Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist wahr (HMIP-PS... ist ja ein)
- HMIP-PS... wird ausgeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist nicht wahr (HMIP-PS... ist ja aus)
- HMIP-PS... wird eingeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist wahr (HMIP-PS... ist ja ein)
- HMIP-PS... wird ausgeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist nicht wahr (HMIP-PS... ist ja aus)
- HMIP-PS... wird eingeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist wahr (HMIP-PS... ist ja ein)
- HMIP-PS... wird ausgeschaltet
Ergebnis:
- Programm wird ausgeführt (die Änderung hat ja stattgefunden)
- das Wenn ist nicht wahr (HMIP-PS... ist ja aus)
- HMIP-PS... wird eingeschaltet
...usw. bis zum jüngsten Tag.
Vermutlich wird sich aber die CCU in der Endlosschleife aufhängen.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
-
- Beiträge: 9850
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 712 Mal
- Danksagung erhalten: 1671 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Einsteiger Tipps durchlesen!
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
- Roland M.
- Beiträge: 9914
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 257 Mal
- Danksagung erhalten: 1421 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Hallo!
Ich glaube, man wird auch hier die Problematik auf die beiden typischen Anfängerfehler zurück führen können:
1. wie schon erwähnt, "nur prüfen" löst kein Programm aus
2. wird das Programm über die WebUI manuell gestartet, wird ohne Prüfung der Bedingungen immer das erste DANN ausgeführt!
Nennt sich Logik...
Roland
Ich glaube, man wird auch hier die Problematik auf die beiden typischen Anfängerfehler zurück führen können:
1. wie schon erwähnt, "nur prüfen" löst kein Programm aus
2. wird das Programm über die WebUI manuell gestartet, wird ohne Prüfung der Bedingungen immer das erste DANN ausgeführt!
Nennt sich Logik...
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,...
-
- Beiträge: 9
- Registriert: 24.10.2020, 13:50
- System: CCU
- Hat sich bedankt: 3 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Ihr denkt am Thema vorbei und Beiträge wie Einsteiger-Tipps durchlesen helfen nicht weiter. Weiter würde helfen, den Code funktionierend zu ergänzen.
1. Ich programmiere zu Übungszwecken. Wenn man keinen Anwendungsfall hat, sucht man sich etwas. Andere fangen mit "Hello world an".
2. Hier soll einfach nur mittels manuell zu startendem Programm das Drücken auf den Schalter simuliert werden. Hier soll nix getriggert werden oder dergleichen. Mit 2 Programmen geht es ja auch, was aber nicht der Anspruch sein kann.
Aber wenn ich Roland richtig verstanden habe, löst manuelles Auslösen des Programms (Start aus ccu) immer die erste Dann-Anweisung aus. Also mit anderen Worten: Die Bedingung wird gar nicht erst geprüft, sondern gilt als stets erfüllt.
1. Ich programmiere zu Übungszwecken. Wenn man keinen Anwendungsfall hat, sucht man sich etwas. Andere fangen mit "Hello world an".
2. Hier soll einfach nur mittels manuell zu startendem Programm das Drücken auf den Schalter simuliert werden. Hier soll nix getriggert werden oder dergleichen. Mit 2 Programmen geht es ja auch, was aber nicht der Anspruch sein kann.
Aber wenn ich Roland richtig verstanden habe, löst manuelles Auslösen des Programms (Start aus ccu) immer die erste Dann-Anweisung aus. Also mit anderen Worten: Die Bedingung wird gar nicht erst geprüft, sondern gilt als stets erfüllt.
- Roland M.
- Beiträge: 9914
- Registriert: 08.12.2012, 15:53
- System: CCU
- Wohnort: Graz, Österreich
- Hat sich bedankt: 257 Mal
- Danksagung erhalten: 1421 Mal
Re: HMIP-PS: Programm zum manuellen Schalten
Hallo!
Dein Programm muss getriggert werden, damit es funktioniert!
Du brauchst daher einen Trigger.
Üblicherweise verwendet man in so einem Fall einen der virtuellen Taster und startet nicht das Programm, sondern betätigt den Taster. Problem solved.
Roland
Doch, die helfen ungemein! Wenn man sie denn liest.frankieman hat geschrieben: ↑08.11.2020, 16:04Ihr denkt am Thema vorbei und Beiträge wie Einsteiger-Tipps durchlesen helfen nicht weiter.
Vorgekaute Lösungen helfen genau so wenig weiter.Weiter würde helfen, den Code funktionierend zu ergänzen.
Und genau das funktioniert nicht so auf der CCU!2. Hier soll einfach nur mittels manuell zu startendem Programm das Drücken auf den Schalter simuliert werden.
Doch!Hier soll nix getriggert werden
Dein Programm muss getriggert werden, damit es funktioniert!
Dann ist leider Homematic nichts für dich. Dieser Anspruch wird nicht erfüllt.Mit 2 Programmen geht es ja auch, was aber nicht der Anspruch sein kann.
Genau so ist es.Aber wenn ich Roland richtig verstanden habe, löst manuelles Auslösen des Programms (Start aus ccu) immer die erste Dann-Anweisung aus. Also mit anderen Worten: Die Bedingung wird gar nicht erst geprüft, sondern gilt als stets erfüllt.
Du brauchst daher einen Trigger.
Üblicherweise verwendet man in so einem Fall einen der virtuellen Taster und startet nicht das Programm, sondern betätigt den Taster. Problem solved.
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,...