Hallo allerseits,
habe einen D1 Mini mit einer LED-Steuerungs-Software auf Basis von FastLED geflasht.
(Ursprüngliches Projekt: https://github.com/jasoncoon/esp8266-fastled-webserver)
Funktioniert gut, hat auch ein Web-Interface zur Steuerung, allerdings kein MQTT.
Den Sketch habe ich also um eine MQTT-Schnittstelle erweitert (mittels PubSubClient) zum Steuern der Lichtszenarien, Helligkeit, Speed, usw.
Mittels Mosquitto kann ich das Teil damit dann auch cool steuern, wie z.B.
mosquitto_pub -d -t /home/data -m "off"
mosquitto_pub -d -t /home/data -m "sinelon"
mosquitto_pub -d -t /home/data -m "water"
mosquitto_pub -d -t /home/data -m "brightness 016"
mosquitto_pub -d -t /home/data -m "speed 010"
Funktioniert gut.
Aber wie binde ich das jetzt in Fhem ein?
Habe natürlich den MQTT Server in der Arduino-Software (von ursprünglich dem Mosquitto, wo es funktioniert und ich den ESP steuern kann) auf meinen Fhem-Mqtt2_Server umgebogen, aber autocreate in Fhem findet nicht mal das Device.
Wie kann ich jetzt das Teil von Fhem aus einbinden/ansprechen? MQTT kann es (mosquitto_pub schaltet einwandfrei)
Gruß
Michl
Sieht man was bei "attr mqtt2_server verbose 5" im FHEM-Log?
Ja: FHEM-Konfigurationsproblem (autocreate, etc).
Nein: Arduino-Konfig oder Verbindungsproblem.
schreibt ins log:
2020.02.11 21:22:09 5: in: PINGREQ: (192)(0)
2020.02.11 21:22:09 4: myBroker_192.168.66.47_59580 ESP8266Client PINGREQ
2020.02.11 21:22:09 5: out: PINGRESP: (208)(0)
2020.02.11 21:22:24 5: in: PINGREQ: (192)(0)
2020.02.11 21:22:24 4: myBroker_192.168.66.47_59580 ESP8266Client PINGREQ
2020.02.11 21:22:24 5: out: PINGRESP: (208)(0)
2020.02.11 21:22:39 5: in: PINGREQ: (192)(0)
2020.02.11 21:22:39 4: myBroker_192.168.66.47_59580 ESP8266Client PINGREQ
2020.02.11 21:22:39 5: out: PINGRESP: (208)(0)
autocreate braucht ein publish vom Geraet.
Danke, damit wurde das Device gefunden und angelegt.
Zumindest kann ich jetzt mittels
set myBroker publish /D1MINI1/command speed 016
schon mal Befehle hin schicken (/home/data habe ich im Sketch umbenannt auf /D1MINI1/command)
Jetzt muss ich dann wohl mit setList, devStateIcon und webCmd weiter machen, wenn ich das Device über die Web-Oberfläche schön haben möchte, oder (attrTemplate finde ich kein passendes)?
Gruß
Michl
Richtig. attrTemplate kann als Inspiration dienen.
Oh Gott, ich scheitere schon am ein/ausschalter...
Hab das so gemacht:
setList on /D1MINI1/command on off /D1MINI1/command off
setStateList on off
webCmd on:off
und dachte, das müsste mir ja dann so etwas auslösen wie das hier, was ja funktioniert:
set myBroker publish /D1MINI1/command on
set myBroker publish /D1MINI1/command off
Funktioniert natürlich nicht, habe eine gelbe Glühbirne mit rotem Ausrufezeichen, wenn ich auf on klicke.
Wenn ich auf off klicke:
Unknown argument off, choose one of on attrTemplate:?,General_Info,MQTT2_CLIENT_general_bridge,tasmota_basic,tasmota_basic_state_power1,shelly1,eBus_daemon_splitter,zigbee2mqtt_bridge,wled_controller,go_eCharger,esp_milight_hub_bridge,esp_milight_hub_remote_events_only,OpenMQTTGateway_MCU,wallpanel_app
Die Befehle im setList sind per Newline zu trennen.
Im grossen FHEMWEB DetailAnsicht-setList-Textfenster gibt man Folgendes ein:
on /D1MINI1/command on
off /D1MINI1/command off
Nochmal danke! Schalten geht jetzt tatsächlich, aber in der Glühbirne ist immer noch das rote Ausrufezeichen.
Bei den Internals steht bei STATE set_on, kann es daran liegen? Und wenn ja, wie kann ich das beheben?
Gruß
Michl
Indem du deiner Hardware sagst, sie soll bitte rückmelden, dass geschaltet wurde => Sketch anpassen...
(Oder auf den Komfort verzichten und so tun, als würde das immer ankommen => setStateList löschen)
Du hast das explizit bestellt mit "setStateList on off"
Das ist dann sinnvoll, wenn die Geraete nach Schalten on oder off so zurueckmelden, so dass diese Werte im STATE landen.
Dann kann man mit dem Zustand set_on sehen, wenn die Rueckmeldung ausgeblieben ist.
Also entweder setStateList entfernen, oder per stateFormat/jsonMap/userReadings die Rueckmeldung als on/off nach STATE befoerdern.
Habs im Sketch eingebaut (publish state), gut jetzt.
Jetzt noch Slider für Helligkeit und Dropdown für die verschiedenen Effekte angelegt.
Funktioniert super, danke Fhem und danke Euch für die Unterstützung!
Gruß
Michl