selfmade01
Member
Hallo,
ich versuche hier seit ca 1 Woche eine für geübte wohl Pipifax-Verbindung herstzustellen.
Auf einem HAOS Server mit mqtt, ESPHome, Node-Red soll es möglich sein eine LED auf einem ESPHome zu schalten.
Info: Schalten, Dimmen geht alles via HA-Oberfläche (über das bestehende device und seine Integritäten ),
Ich sehe auch was im mqtt-expolrer an den ESPhome gesendet wird
Als es das erste mal funktionierte (es funktioniert ja immer noch aber NUR das o.g.)
Hatte der ESP noch keine "subscribe" Code-Zeilen beinhaltet.
Nachdem ich den ESP über HA steuern konnte wollte ich noch eine Zeitschaltuhr einbauen (über NodeRed den BigTimer)
hier habe ich dann die oben in FETT formatierten subscribe-Zeilen eingefügt
Grund: die Zeitschaltuhr die auch via mqtt mit dem ESP verbunden war, schaffte es nicht den ESP zu schalten, alle Versuche schlugen fehl.
Im Anschluss habe ich dann die subscribe-Zeilen eingefügt
Egal was ich nun an den ESP-Home von der Zeitschaltuhr aus sende ob ein kompletter Json-String
wie diesen
Ausgabe im MQTT-Explorer wenn ich diesen via HA==> Geräte==> Steuerung schalte
Ausgabe wenn ich den ESP via Zeitschaltuhr schalten möchte
mqtt-Topic was ich in Node-Red nach der zeitschaltuhr habe , hat folgenden inhalt
in meinem MQTT-Explorer
sehe ich jedoch das topic was er senden soll nicht
ich sehe es nur im Node-Red Debug obwohl dort das mqtt-out mit dem mgtt server connected ist
Oben habe ich einen mqtt-explorer Auszug
bei dem man sieht das wenn ich den esp via HA-Oberfläche also direkt vom Device aus schalte, geht es
da sendet er sauber die Daten
Keine Ahnung ob es nun am subscrib Code im ESPhome und/oder auch daran liegt das mir der Timer über mqtt-out im node-Red nichts sendet bzw. das im mqtt-server nicht ankommt
Wäre sehr sehr dankbar wenn sich hier jemand er Sache annehmen könnte... ich rutsche jetzt fats eine Woche an diesem Problemchen rum
Danke!
edit:
ich habe in der Zeitschaltuhr nochmals die "On MSG" und "OFF MSG" geändert
jetzt erhalte ich im mqtt-explorer zwar das payload aber der ESP reagiert darauf nicht
Hier der Auszug aus dem mqtt-explorer
ich versuche hier seit ca 1 Woche eine für geübte wohl Pipifax-Verbindung herstzustellen.
Auf einem HAOS Server mit mqtt, ESPHome, Node-Red soll es möglich sein eine LED auf einem ESPHome zu schalten.
Info: Schalten, Dimmen geht alles via HA-Oberfläche (über das bestehende device und seine Integritäten ),
Ich sehe auch was im mqtt-expolrer an den ESPhome gesendet wird
Als es das erste mal funktionierte (es funktioniert ja immer noch aber NUR das o.g.)
Hatte der ESP noch keine "subscribe" Code-Zeilen beinhaltet.
Code:
# D1 Mini Configuration for D1M05 (D1 Mini)
# Pins (=GPIO)| Input? | Output? | Comments
# D0 = 16 | Y | Y | High @ boot, Wake, I/P: No Interrupt, O/P: No PWM or I2C
# D1 = 5 | Y | Y | I2C SCL
# D2 = 4 | Y | Y | I2C SDA
# D3 = 0 | Y | Y |
# D4 = 2 | Y | Y | Onboard LED
# D5 = 14 | Y | Y |
# D6 = 12 | Y | Y |
# D7 = 13 | Y | Y |
# D8 = 15 | Y | Y |
# RX = 3 | Y | Y |
# TX = 1 | | Y |
# A0 = ADC0 | Y | |
substitutions: # All have to be strings, the substitution process will convert them to the correct types
devicename: d1m01-kueche-box
upper_devicename: D1Mini kueche box
device_location: Kueche
device_description: box Steuerung platform using ESPhome firmware
ipaddress: 192.168.2.101
mqtt_prefix: d1m01-kueche-box # $mqtt_root/$devicename # Argh! combined substitutions don't work!
esp_board: d1_mini
last_update: "2023-05-05 18:54:12"
mqtt:
broker: !secret mqtt_broker
username: !secret mqtt_username
password: !secret mqtt_password
topic_prefix: Box
id: mqtt_client
wifi:
power_save_mode: none # none (default for esp8266), light (default for esp32), high
ssid: !secret WLAN_ASUS_SSID
password: !secret WLAN_ASUS_PASSWORD
manual_ip:
static_ip: !secret D1MINI_KUECHE_BOX_IP
gateway: !secret WLAN_ASUS_GATEWAY_IP
subnet: !secret WLAN_ASUS_SUBNET
dns1: !secret WLAN_ASUS_DNS1
#fast_connect: on
ap: # Enable fallback hotspot (captive portal) in case wifi connection fails
ssid: "box Fallback Hotspot"
password: !secret WIFI_AP_PASSWORD
ota:
safe_mode: true
password: !secret HA_OTA_PASSWORD
api: # Enable Home Assistant API
encryption:
key: !secret ESPHOME_API_KEY
esphome:
name: $devicename
friendly_name: Grobot-Box
platform: ESP8266
board: d1_mini
# Festlegen der I2C Ports ESP32 und ESP8266
i2c:
sda: 4 # Standard Port für ESP8266 GPIO4 sda
scl: 5 # Standard Port für ESP8266 GPIO5 scl
scan: true # I2C Port_Scan Standard = true
id: bus_a # id = bei mehreren PCA9685
# pca9685 16 Channel PWM Multiplexer konfiguration
pca9685:
id: pca9685_hub1 # id muss nur angegeben werden wenn mehrere PCAs vorhanden sind
frequency: 1000 # für MW-LDD s sollten 1000 HZ (mögliche Werte 24 Hz bis 1525,88 Hz. Standard 1000Hz) Frequenz eingestellt sein
address: 0x40 # HEX Adresse des PCA9685 , Standart = 0x40 (müsste in diesem Fall nicht mit angegeben werden)
light:
- platform: monochromatic
name: "box 2 x 3500K LED-Mitte"
output: "PWM0"
state_topic: Box/Light_Control/3500K_LED_Mitte
- platform: monochromatic
name: "box 2 x 3500K LED-Links/Rechts"
output: "PWM1"
state_topic: Box/Light_Control/3500K_LED_L_R
- platform: monochromatic
name: "box 4 x 5000K LED"
state_topic: Box/Light_Control/5000K
output: "PWM2"
# Festlegen der PWM Outputs 0-15
output:
- platform: pca9685
id: PWM0
channel: 0 # Kanal 0-15, wir benutzen den Kanal 4 = 5. Pin 0,1,2,3,4...
- platform: pca9685
id: PWM1
channel: 1 # Kanal 0-15, wir benutzen den Kanal 3 = 4. Pin 0,1,2,3,4...
- platform: pca9685
id: PWM2
channel: 2 # Kanal 0-15, wir benutzen den Kanal 4 = 5. Pin 0,1,2,3,4...
# Enable logging
logger:
captive_portal:
sensor:
# DHT22 Temp/Humidy Sensor
- platform: dht
pin: D0
model: AM2302
temperature:
name: "Temperatur"
id: temperatur
state_topic: Box/DHT22/Temperatur
humidity:
name: "Luftfeuchtigkeit"
id: luftfeuchtigkeit
state_topic: Box/DHT22/Luftfeuchtigkeit
accuracy_decimals: 1
# filters:
# - offset: 4.2
- platform: mqtt_subscribe
name: "Data from topic"
id: PWM0_SUBSCRIBE_ID
topic: Box/DataSubscribeText/Light_Control/3500K_LED_Mitte
#topic: Box/Light_Control/3500K_LED_Mitte
text_sensor:
- platform: mqtt_subscribe
name: "Data from topic"
id: PWM0_SUBSCRIBE_TEXT_ID
topic: Box/DataSubscribeText/Light_Control/3500K_LED_Mitte
#topic: Box/Light_Control/3500K_LED_Mitte
hier habe ich dann die oben in FETT formatierten subscribe-Zeilen eingefügt
Grund: die Zeitschaltuhr die auch via mqtt mit dem ESP verbunden war, schaffte es nicht den ESP zu schalten, alle Versuche schlugen fehl.
Im Anschluss habe ich dann die subscribe-Zeilen eingefügt
Code:
- platform: mqtt_subscribe
name: "Data from topic"
id: PWM0_SUBSCRIBE_ID
topic: Box/DataSubscribeText/Light_Control/3500K_LED_Mitte
#topic: Box/Light_Control/3500K_LED_Mitte
- text_sensor:
.
.
.
Egal was ich nun an den ESP-Home von der Zeitschaltuhr aus sende ob ein kompletter Json-String
wie diesen
Ausgabe im MQTT-Explorer wenn ich diesen via HA==> Geräte==> Steuerung schalte
Code:
DHT22
Light_Control
5000K = {"color_mode":"brightness","state":"ON","brightness":255,"color":{}}
3500K_LED_L_R = {"color_mode":"brightness","state":"ON","brightness":255,"color":{}}
3500K_LED_Mitte = {"color_mode":"brightness","state":"ON","brightness":255,"color":{}}
Ausgabe wenn ich den ESP via Zeitschaltuhr schalten möchte
mqtt-Topic was ich in Node-Red nach der zeitschaltuhr habe , hat folgenden inhalt
Code:
Box/DataSubscribeText/Light_Control/3500K_LED_Mitte
in meinem MQTT-Explorer
sehe ich jedoch das topic was er senden soll nicht
ich sehe es nur im Node-Red Debug obwohl dort das mqtt-out mit dem mgtt server connected ist
Code:
Box/DataSubscribeText/Light_Control/3500K_LED_Mitte : msg.payload : string[69]
"{"color_mode":"brightness","state":"OFF","brightness":255,"color":{}}"
Oben habe ich einen mqtt-explorer Auszug
bei dem man sieht das wenn ich den esp via HA-Oberfläche also direkt vom Device aus schalte, geht es
da sendet er sauber die Daten
Keine Ahnung ob es nun am subscrib Code im ESPhome und/oder auch daran liegt das mir der Timer über mqtt-out im node-Red nichts sendet bzw. das im mqtt-server nicht ankommt
Wäre sehr sehr dankbar wenn sich hier jemand er Sache annehmen könnte... ich rutsche jetzt fats eine Woche an diesem Problemchen rum
Danke!
edit:
ich habe in der Zeitschaltuhr nochmals die "On MSG" und "OFF MSG" geändert
jetzt erhalte ich im mqtt-explorer zwar das payload aber der ESP reagiert darauf nicht
Hier der Auszug aus dem mqtt-explorer
Code:
DataSubscribeText
Light_Control
3500K_LED_Mitte = {"color_mode":"brightness","state":"OFF","brightness":255,"color":{}}
Zuletzt bearbeitet: