Reinhard_33
New member
Hallo,
ich kann mir das einfach nicht erklären, wenn ich mit diesen Mikropythonprogramm einen Befehl sende funktioniert es
einwandfrei ohne Fehlermeldungen, egal ob "on" oder "off2 gesendet wird:
Möchte ich jetzt das Gerät An- und Ausschalten:
Kommt diese Meldung, unabhängig davon ob on oder off gesendet wird, der zweite Aufruf generiert einen Fehler:
Das ist der Inhalt der configurations.yaml:
Kann mir da Jemand helfen, ich habe keine Erklärung?
Gruß Reinhard
ich kann mir das einfach nicht erklären, wenn ich mit diesen Mikropythonprogramm einen Befehl sende funktioniert es
einwandfrei ohne Fehlermeldungen, egal ob "on" oder "off2 gesendet wird:
Python:
import time
import urequests
import network
import machine
# WLAN-Verbindung
ssid = "FRITZT"
password = "561500xxxxxx"
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print("Verbinde mit WLAN...")
wlan.connect(ssid, password)
while not wlan.isconnected():
time.sleep(1)
print("Verbinde...")
print("Verbunden! IP-Adresse:", wlan.ifconfig()[0])
# Home Assistant URL und Token
home_assistant_url = "http://192.168.178.71:8123/api/webhook/TestD1Mini"
headers = {'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6WjvPTHxCYp4oAdx6VgRGSQI'}
# Variablen
led_status = 'off' # Startstatus der LED
# Sende den Status an Home Assistant
payload = {'command': led_status} # Daten als 'command' übergeben
response = urequests.post(home_assistant_url, json=payload, headers=headers, timeout=10)
print(f'Daten gesendet: {led_status}')
if response.status_code == 200:
print('Antwort von Home Assistant: ', response.text)
print(f"HTTP-Statuscode: {response.status_code}")
else:
print(f'Fehlerhafte Antwort von Home Assistant: {response.status_code}, {response.text}')
Möchte ich jetzt das Gerät An- und Ausschalten:
Python:
import time
import urequests
import network
import machine
# WLAN-Verbindung
ssid = "FRITZT"
password = "5615001747xxxxxx"
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print("Verbinde mit WLAN...")
wlan.connect(ssid, password)
while not wlan.isconnected():
time.sleep(1)
print("Verbinde...")
print("Verbunden! IP-Adresse:", wlan.ifconfig()[0])
# Home Assistant URL und Token
home_assistant_url = "http://192.168.178.71:8123/api/webhook/TestD1Mini"
headers = {'Authorization': 'Bearer iMiwiZXhwIjoyMDQ5NjQ2MzMyfQ.S4hFvtQ8iQNaZMKMtBHMWjvPTHxCYp4oAdx6VgRGSQI'}
# Variablen
led_status = 'off' # Startstatus der LED
# Sende den Status an Home Assistant
payload = {'command': led_status} # Daten als 'command' übergeben
response = urequests.post(home_assistant_url, json=payload, headers=headers, timeout=10)
print(f'Daten gesendet: {led_status}')
if response.status_code == 200:
print('Antwort von Home Assistant: ', response.text)
print(f"HTTP-Statuscode: {response.status_code}")
response.close() # Verbindung schließen
time.sleep(10)
# Variablen
led_status = 'on' # Startstatus der LED
# Sende den Status an Home Assistant
payload = {'command': led_status} # Daten als 'command' übergeben
response = urequests.post(home_assistant_url, json=payload, headers=headers, timeout=10)
print(f'Daten gesendet: {led_status}')
if response.status_code == 200:
print('Antwort von Home Assistant: ', response.text)
print(f"HTTP-Statuscode: {response.status_code}")
response.close() # Verbindung schließen
Kommt diese Meldung, unabhängig davon ob on oder off gesendet wird, der zweite Aufruf generiert einen Fehler:
Code:
%Run -c $EDITOR_CONTENT
Verbunden! IP-Adresse: 192.168.178.21
Daten gesendet: off
Antwort von Home Assistant:
HTTP-Statuscode: 200
Traceback (most recent call last):
File "<stdin>", line 40, in <module>
File "requests/__init__.py", line 205, in post
File "requests/__init__.py", line 146, in request
OSError: [Errno 110] ETIMEDOUT
Das ist der Inhalt der configurations.yaml:
Code:
id: 'led_steuerung_webhook'
alias: LED Steuerung über Webhook
description: 'Schaltet die LED basierend auf Webhook-Nachrichten'
trigger:
- platform: webhook
webhook_id: TestD1Mini
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: "{{ trigger.json.command == 'on' }}"
sequence:
- service: switch.turn_on
target:
entity_id: switch.led_schalter
- service: notify.notify
data:
message: LED eingeschaltet
- conditions:
- condition: template
value_template: "{{ trigger.json.command == 'off' }}"
sequence:
- service: switch.turn_off
target:
entity_id: switch.led_schalter
- service: notify.notify
data:
message: LED ausgeschaltet
default: []
mode: single
Kann mir da Jemand helfen, ich habe keine Erklärung?
Gruß Reinhard