NEWS
Phasenanschnittdimmer für Infrarotheizung?
-
@beowolf said in Phasenanschnittdimmer für Infrarotheizung?:
Im mqtt Bereich im ioBroker bekomme ich an der passenden Stelle aber nur eine "0" zurück.
Was mache ich falsch?
Hast Du den ESP nachdem speichern der Regel neu gebootet?
a) das ist notwendig um oben (2te Zeile) das Monitoring aktiv zu schalten
b) nach dem Reboot ist der Ausgang auf 0 (siehe 3te Zeile), hast Du danach nochmal ein http Befehl abgesetzt? zB PWM 300?Du kannst eine Zwischenprüfung machen. Geh in das Menü Tools und in der Konsole kannst Du den GPIO prüfen mit Status,G,0 für GPIO0
siehe hier als Beispiel bei mir für GPIO 12 und ich habe PWM auf 50 gesetzt.
Darunter wird das Ergebnis angezeigt: .... Mode PWM und State 50
Genau die 50 (der state) wird dann auch per MQTT an den IObroker geschickt.Stimmt der Command Output schon nicht bei Dir, kann der MQTT und die Regel nicht funktionieren.
Stimmt die Ausgabe dort kannst Du auch manuell in der Konsole mit
Publish %sysname%/GPIO/GPIO0,[plugin#gpio#pinstate#0]
den State/Wert einmalig über MQTT verschicken z.B. zum testen. Desweiteren zum Testen, kannst du dort auch direkt in der Konsole den PWM setzen (erspart vielleicht was Klickerrei):
PWM,0,300 // 300 der Wert und 0 der GPIO
-
Ich habe das jetzt noch einmal alles kontrolliert.
Kann das mit der ESP-Easy Version zusammen hängen?
-
mmmh, schwierig sieht für mich bis auf das Ergebnis alles gut aus.
Siehst Du im IOBroker den Zeitstempel das da wirklich jedes mal mit dem manuellen Submit eine "0" ankommt?
Der Temp Sensor funktioniert ja über MQTT also sollte die Verbindung/Konfiguration passen.
Bin bei Kommandoreferenzsuche über einen alten Beitrag(2019) gestolpert, der sagte dass einfach ein Dummy Device (mit GPIO) anzulegen ist, damit das Monitoring allgemein funktioniert. Das war aber ein Bug und TD-er sagte er hat das gefixt.
Ich hab bei mir die mega-20230623 drauf.
-
ah da ist noch ein "Dreher" drin. Passe es an, sekunde
-
Ich habe jetzt mal die akuellste Version aufgespielt.
Wenn ich nun
Publish %sysname%/GPIO/GPIO4,[plugin#gpio#pinstate#4]
über die Konsole eingebe kommt es auch im ioBroker an.
Aber wenn ich per http den PWM Wert ändere tut sich nichts.
Ich bin auf GPIO 4 umgestiegen.
-
@beowolf
da "kämpfe" ich gerade auch.
Er nimmt den Trigger aus der Regel nicht.
Habt das aktiv laufen, aber mit einen PCF8574 Modul Expander und somit das von zB:on pcf#1 do Publish,%sysname%/PCFGPIO/P1Gruen,[plugin#pcfgpio#pinstate#1] endon
zu:
on GPIO#0 do // Regel basierend auf Änderung des GPIO Publish %sysname%/GPIO/GPIO0,[plugin#gpio#pinstate#0] // verschickt per MQTT den Status des GPIO endon
angepasst, aber da hackt es jetzt. vermute die Schreibweise passt nicht, aber tüftel noch dran rum
Edit:
Ok, Fehler gefunden. Der Trigger kann nicht funktionieren, da das Monitoring nur für digitale Werte funktioniert:
"To monitor a GPIO state. By the use of the command you will receive events when the GPIO state of that pin is changed from 1 to 0 and from 0 to 1."Na denn bastel ich mal anders....
-
Ich habe das jetzt mal so gemacht.
on System#Boot do Monitor GPIO,4 //aktiviert das Monitoring für den GPIO gpio,4,0 // setzt den GPIO beim Reboot auf 0 endon on MQTT#Connected do Publish %sysname%/GPIO/GPIO4,[plugin#gpio#pinstate#4] endon on Temp_Sensor#temperature do // Regel basierend auf Änderung des GPIO Publish %sysname%/GPIO/GPIO4,[plugin#gpio#pinstate#4] // verschickt per MQTT den Status des GPIO endon
Jedes mal, wenn sich die Temperatur ändert wird der PWM-Wert übermittelt.
Das funktioniert.
Wenn ich das mal weiter "spinne" möchte ich eigentlich das alles so haben, das ich die Zieltemperatur einfach eingeben kann. Ich glaube dazu benötige ich eine "PID-Regelung"?
Da bin ich aber noch nicht. Das habe ich noch nicht so richtig verstanden wie das geht.
Grüße
-
ah prima ok. Wenn Dir die Abhängigkeit/Verbindung zur Temperatur so reicht ist das doch eine Lösung.
Wo möchtest Du denn regeln? Direkt im ESP oder im IObroker?
Für ESPEasy hab ich das noch nicht "easy" gesehen. Nutze selbst eine Temperaturregelung für den Gefrierschrank in ESPEasy aber das ist nur eine 2-Punkt Regelung (An/Aus) und nicht in der Lage ein PWM zu regeln.
Über IOBroker kann dir vielleicht jemand im Logik-Bereich des Forum helfen.
-
Soll dann schon über ioBroker laufen.
Danke für die Hilfen.
-
gerade eine Lösung bekommen:
on System#Boot do gpio,4,0 // setzt den GPIO beim Reboot auf 0 endon on MQTT#Connected do Publish %sysname%/GPIO/GPIO4,[plugin#gpio#pinstate#4] endon on fanpwm do PWM,4,%eventvalue1% Publish %sysname%/GPIO/GPIO4,[plugin#gpio#pinstate#4] endon
Ansteuern dann über:
http://192.168.49.147/control?cmd=event,FANPWM=300
-
Geil. Funktioniert.
Vielen Dank für die Hilfe.