Automatisierung zufällig ausführen

ich habe hier mal eine ganz andere Lösung:

https://github.com/AlexxIT/PythonScriptsPro

dann folgendes script ablegen “pyfiles/Zufallszahl.py”:

import random
import time

hass.states.set('sensor.zufallsgenerator', True)

while True:
    zufallszahl = random.randint(1, 2)
    if zufallszahl == 1:
        hass.states.set('sensor.zufallsgenerator', True)
    else:
        hass.states.set('sensor.zufallsgenerator', False)
    time.sleep(10)

time.sleep(10) entsprechen 10 Sekunden

in die configuration.yaml:

script:
  zufall:
    sequence:
    - service: python_script.exec
      data:
        file: pyfiles/Zufallszahl.py
        cache: false

evtl das script mit Neustart starten lassen:

alias: Zufall Skript bei Neustart ausführen
description: ""
trigger:
  - platform: homeassistant
    event: start
condition: []
action:
  - service: script.zufall
    data: {}
mode: single

jetzt habt ihr ein Sensor in HA der zufällig True oder False zurück gibt … und könnt dann damit ganz easy weiter arbeiten…

Könnte auch fix eine Integration daraus machen

1 „Gefällt mir“

Wow! Das hört sich auch nicht schlecht an.
Eine Integration hört sich immer gut an :wink:

So da ist das Ding :smiley:

1 „Gefällt mir“

Hi,
besten Dank für die Integration !

Habe bei mir einen Shelly Mini Switch der meine Lampe damit ansteuert.
Dazu habe ich eine Automation erstellt.

Es wird zwischen 07:00 und 18:30 per Random die Lampe ein bzw. ausgeschaltet.
Das funktioniert alles.

Nun möchte ich das die Automation nur starten soll wenn ich die Lampe über den Schalter kurz ein und wieder ausschalte …

Wie kann ich das lösen ?

Probier es mal mit einer solchen Automatisierung:

Trigger:

  • Leuchte wird eingeschaltet

Aktionen:

  • Eine Sekunde warten (ggf. auch länger, je nach dem, wie schnell Du schalten möchtest)
  • Bedingung: Leuchte ist ausgeschaltet
  • Skript starten

Danke !

Der my_random_sensor sendet einen on oder off Befehl.

Aktuell habe ich bei der Lampe die “umschaltung” aktiviert.
Wie erreiche ich das bei “on” die Lampe einschaltet und bei “off” wieder ausschaltet ?

Da kannst Du einen Wenn-dann-Baustein nehmen:

Trigger: Sensor
Aktion mit Baustein: Wenn Sensor on, dann einschalten, sonst ausschalten

Oder
light.turn_{{ trigger.to_state.state }}

Gruß
Osorkon

So klappt es .

Besten Dank Euch !!

meine automation sieht nun so aus

wie erreiche ich das die letzte “ausführung” immer ein Aus ist , also wenn um 18:29 die Automation den letzten befehl vom random script bekommt ein off an die Lampe sendet ? Sonst brennt diese die ganze Nacht durch …

Wieso machst Du nicht einfach eine zweite Automatisierung für die Abschaltung? Wahlweise einen zweiten Trigger, ausgelöst durch die Uhrzeit, zur Abschaltung und unterscheidest im Ablauf nach Trigger.

so hab ch es nun gelöst …
Danke !