Jetzt dachte ich schon ihr hättet mich auf die Lösung gestoßen weil ich die Maske fürs Bekanntgeben eigener States anpassen müsste. Das hilft aber leider auch nicht Ich habe da jetzt alles Mögliche versucht, sogar testweise mal nur * ! Hilft aber auch nicht. Außerdem sieht die Debugausgabe im ioBroker-Log IMO gut aus:
mqtt-0 2016-04-08 00:19:57 debug Send to client [GrillDuino01] "GrillDuino01/RESET": 1
mqtt-0 2016-04-08 00:19:57 debug onStateChange mqtt.0.GrillDuino01.RESET: {"val":"1","ack":false,"ts":1460067597,"q":0,"from":"system.adapter.admin.0","lc":1460067597}
mqtt-0 2016-04-08 00:19:57 debug stateChange mqtt.0.GrillDuino01.RESET: {"val":"1","ack":false,"ts":1460067597,"q":0,"from":"system.adapter.admin.0","lc":1460067597}
inMem 2016-04-08 00:19:57 debug message mqtt* mqtt.0.GrillDuino01.RESET val=1, ack=false, ts=1460067597, q=0, from=system.adapter.admin.0, lc=1460067597
mqtt-0 2016-04-08 00:19:57 debug stateChange mqtt.0.GrillDuino01.Licht: {"val":1023,"ack":true,"ts":1460067597,"q":0,"from":"system.adapter.mqtt.0","lc":1460067224}
inMem 2016-04-08 00:19:57 debug message mqtt* mqtt.0.GrillDuino01.Licht val=1023, ack=true, ts=1460067597, q=0, from=system.adapter.mqtt.0, lc=1460067224
mqtt-0 2016-04-08 00:19:57 debug Server received "GrillDuino01/Licht" (number): 1023
Es könnte also schon sein, dass der FEhler im Arduino-Sketch liegt. DAbei ist mir ja erstmal völlig egal ob dann auch wirklich ein Hardreset ausgelöst würde. Aber es müsste ja im Seriellen Monitor ein Eintrag "Empfangen: topic" erscheinen. Da tut sich aber schon nix. Vielleicht wird die Callback-Funktion des MQTT-Clients gar nicht ausgeführt? Ich habe aber k.A. wie ich das sonst noch testen könnte…?
EDIT: Ich hab's dank hartnäckiger Googelei herausgefunden :D In der Loop-Routine des Arduino-Sketchs hatte die folgende Zeile gefehlt:
mqttClient.loop();
Damit werden jetzt die "Subscribten" Topics abgefragt und ich kann meinen Arduino auch von ioBroker aus ansteuern. *juhuuu
Danke und Gruß
Thilo