[nicht immer aber gelöst] Bedingung "immer"

Begonnen von holle75, 12 August 2024, 12:05:52

Vorheriges Thema - Nächstes Thema

holle75

Da ich ein bestehendes DOIF umbaue (zweckentfremde) aber die komplexe erneute Implementation in den ganzen Rest umgehen möchte (und wieder Rückbau in ein paar Monaten), mal wieder eine unlogische Frage.

Was ist der beste Weg eine Bedingung IMMER wahr zu haben? ;)

Im Moment habe ich mir über

DOIF ([14:00:00-13:59:59]) ()

geholfen ....

Otto123

1 = wahr
0 = falsch
defmod d_immer DOIF (1) ()
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

holle75


holle75

Mmh, nach DEF save, bleibt das DOIF auf initialized stehen. Was habe ich übersehen?

Otto123

Du hast nach der Bedingung "immer" gefragt, so hat es natürlich keinen Trigger -> set ... checkall ;)

Ich nahm an, Du hast andere Trigger, sonst macht das Ganze ja irgendwie wenig Sinn?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Per

Was aber kein Trigger ist und nicht auslöst. Wenn man den Cmd direkt aufruft, ist es auch egal, weil da die Bedingungen nicht geprüft werden.
Irgendeinen Trigger ohne Bedingungen, also ohne Vergleich, wäre vllt sinnvoller.

holle75

#6
Zitat von: Otto123 am 12 August 2024, 12:47:15Du hast nach der Bedingung "immer" gefragt, so hat es natürlich keinen Trigger -> set ... checkall ;)

Ich nahm an, Du hast andere Trigger, sonst macht das Ganze ja irgendwie wenig Sinn?

Ja, Sinn macht es nicht. Ist ein Platzhalter der sehr verwoben anderweitig implementiert ist und wieder zurückgebaut wird. Im Moment muss er andere Zwecke erfüllen. Außerdem interessiert mich die unlogische Frage.

Ja, kein Trigger dachte ich mir,

Zitat von: Per am 12 August 2024, 12:47:59Irgendeinen Trigger ohne Bedingungen, also ohne Vergleich, wäre vllt sinnvoller.

Könnte auch platt ein notify oä nehmen, aber dann darf ich die ganzen Verknüpfungen bearbeiten. Viele ...

Ich glaube, dann bleib ich bei der "Zeitschaltuhr" ...

EDIT:
Mmh, auch nicht richtig lecker, gerade bemerkt, dann brauchs außerhalb der Triggerzeiten, zB bei Neustart auch noch nen zusätzlichen Trigger ....
Lustige Frage

holle75

Mir fällt kein allgegenwärtiger Trigger außer Sekunden ein ....  :)) ... das kann doch jetzt nicht ....

Otto123

ohne weitere Infos würde ich sagen: es wird Unfug  ;D

Vielleicht muss deine Skizze größer werden, wenn jemand mitdenken soll  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

holle75

Jain, es ist Unfug, aber auch nicht wirklich.

"Big picture": DOIF schaltet Steckdosen im Hühnerstall. Bis anhin nach Sonnenstand und zusätzlichen Modifikation. Das ist mit ftui, Anwesenheit, Sonnenstand und zig anderen Dingen Verknüpft, geschaltet, nach cmds farbig in Anzeigen verwurschtelt, etc.

Im Moment und die nächsten 3 Monate muss diese Steckdose immer und unbedingt an sein. Auch nach Neustart, Stromausfall (Homematic Schalt-Relais fallen ab, fhem weiß es aber nicht weil mit USV weiterläuft)... Unbedingt, weil die Steckdose gerade den Elektrozaun befeuert und es sonst recht schnell weniger Hühner dank Füchsen hat.

Die Problematik ist saisonal und das DOIF wird später zurückgebaut.

Um "Steckdose an" möglichst IMMER zu gewährleisten, schaltet das DOIF im Moment mit repeatcmd halbstündig erneut cmd_1. Größter gap wäre halbe Stunde kein Elektrozaun.

Also, brauche "immer an" und wegen mal Stromausfall (Wechselrichter Überlast als blödes Beispiel, schaltet nach ner Minute wieder an), frequentes Wiederanschalten obwohl an.

Das wäre ein paar Buchstaben Code im DOIF ändern und happiness.... wenn es ein IMMER AN gibt ;)


holle75

#10
Aber ja, ich kanns auch einfach löschen und später wieder implementieren. Aber mich interessierte die Fragestellung.
Wobei, dieses frequente Wiederanschalten zur Sicherheit schon ganz angenehm umsetzbar ist.

Otto123

Zitat von: holle75 am 12 August 2024, 13:25:59Stromausfall (Homematic Schalt-Relais fallen ab,
Es gibt welche die lassen sich auf "Power on" programmieren.
Aber: Wenn Strom an der Steckdose weg und dann wieder da gibt es doch eine Status-Meldung "der Steckdose" an FHEM !? -> das wäre Dein Trigger:
Wenn Steckdose off dann schalte auf on :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Per

Wenn immer an, warum gibt es dann eine Schalterdose?

holle75

#13
Zitat von: Otto123 am 12 August 2024, 14:03:07Aber: Wenn Strom an der Steckdose weg und dann wieder da gibt es doch eine Status-Meldung "der Steckdose" an FHEM !?

Möchte man meinen, ist aber nicht so. Stromausfall -> Homematic WIRED (ja, vergessen zu erwähnen. Wird bei Funk anders sein?) Relais fällt ab, da aber gerade kein Strom, keine Info auf dem Bus, resp. Info geht verloren. fhem läuft weiter weil USV. Stati der Relais werden erst bei Neustart fhem wieder aktualisiert, resp. wenn du irgendwas schaltest ist zumindest dieses Relais wieder synchronisiert. Auch wird "Relais aus", wenn wieder Strom, nicht erneut gesendet. Aber das ist nur ein am Rande Problem.

Zitat von: Per am 12 August 2024, 14:10:20Wenn immer an, warum gibt es dann eine Schalterdose?

War ja nicht immer an und wird auch wieder nicht immer an sein. Immer an ist nur temporär.

Ich machs jetzt so

defmod ChickenCoopSteckdoseDOIF DOIF ([14:00:00-13:59:45]) (set Container_STECKDOSE_Innen_Chicken on) DOELSE (set Container_STECKDOSE_Innen_Chicken off)
attr ChickenCoopSteckdoseDOIF repeatcmd 1800:0

und setz noch ein Neustart checkall für das DOIF. Ja, cmd_2 bräuchte es nicht. Das war auch (und wird es wieder) alles mal deutlich komplexer. Trotzdem stimmt mein cmd_1 und cmd_2 (was nicht eintritt) in meiner Visualisierung und alle meine Verknüpfungen wenn dann wieder das alte Setup aktuell wird.

Trotzdem lustig, wo DOIF alles kann, dass es kein "immer an" gibt. Wobei, wer braucht sowas ;)

erdnar

Das hier
defmod ChickenCoopSteckdoseDOIF DOIF ([+00:01]) (set Container_STECKDOSE_Innen_Chicken on)
würde jetzt jede Minute einmal einschalten. Die Zeitspanne ist natürlich frei wählbar ;)