@Trucki
Danke für die Antwort. Dann werde ich es wohl nicht brauchen.
MfG
Leon
Hast du auch mal den Mqtt Server ausprobiert?... nein, noch nicht. Werde ich testen. Und bin gespannt auf deine Ergebnisse, weil meine Steuerung auch über ioBroker laufen soll.
So ich habe es mal mit Tasmota versucht.
Habe aber leider Probleme den SUN zu steuern auslesen geht aber sobald ich den Beispiel befehl ( MODBUSSEND {"deviceaddress": 1, "functioncode": 6, "startaddress": 0, "type":"uint16", "count":1, "values":[1000]} ) eingebe macht er nichts und läuft weiter auf vollgas (1650Watt).
Auslesen kann ich ihn.
Siehe dazu den Anhang.
Im Ioborker konnte ich ihn einbinden. Aber zum Steuern kann ich noch nichts sagen Pali
Hallo Leon,
Was passiert, wenn Du den ModbusSend Befehl direkt in die Tasmota Konsole eingibst?
MODBUSSEND {"deviceaddress": 1, "functioncode": 6, "startaddress": 0, "type":"uint16", "count":1, "values":[1000]}
LT. dem log Geht er auf 479W und nicht auf 1650?
Und was macht er wenn Du statt 1000 eine 0 eingibst?
Gruß Trucki
Hallo Trucki,
mit den 479W ist bestimmt dann gewesen als ich den SUN neu gestartet habe.
auch wenn ich 0 oder 10000 eingentilch egal was ich eingebe ändert sich die einstellung nicht.
Was meinst Du mit "die Einstellung" ändert sich nicht?
Ist damit die Leistung des SUN gemeint,oder?
Hast Du im Einstellungsmenü des SUNs alle Limiter ausgeschaltet?
Bist Du sicher, dass das zweiadrige Kabel von meiner Platine zum SUN richtig steckt?
Kannst Du mal die Spannung zwischen den beiden Pins des zweiadrigen Kabels bei ACSetpoint 0W und 100W messen?
Viele Grüße
Trucki
Ich schäme mich es zu sagen ich habe das kleine Kabel nicht eingesteckt. :shifty: :shifty: :shifty:
Jetzt geht es aber. Leider kann ich über die Variablen ( ModbusReceived_Values_0 ) im IoBroker den nicht SUN sternen. Im Tasmota Console geht es.
Wenn ich im IoBroker über den Variable ModbusReceived_Values_0 einen wert eintrage steht in der Tsamota Console Command":"Unknown.
Eine Steuerung über Http Befehle würde ich nicht so gerne machen da es bei den vielen Befehlen bestimmt probleme gben wird.
@leon
Welchen Adapter im ioBroker hast du verwendet zum einbinden über MQTT?
den MQTT Server?
Und welche Tasmota hast du geflasht auf den Wemos? Die Tasmota-Modbus-Bridge von Trucki's Github Seite?
Super. Schönster Fehler! ioBroker weiß ich leider auch nicht. Sorry.
In ein paar Wochen hoffe ich das Trucki2Shelly Gateway mit mqtt subscrib erweitert hzu haben. Dann sollte das Thema ESPHome und Tasmota hoffentlich obsolet sein!?
Gruß Trucki
@Pali
ich habe in ganz einfach über den Sonoff Adapter eingebunden. Hast du die MQTT einstellungen richtig eingetragen??
ich habe MQTT Verbindung zu Tasmota, aber ich habe keine Objekte/Variablen für Steuerung und auch keine Variablen/Objekte für die ausgelesene Daten. Nur diese: siehe schreenshot.
Im ioBroekr in den Variablen/Objekten sehe ich nur das, was regelmäßig in Tasmota-Console auftaucht (bei mir jetzt eingestellt jede 20 Sekunden), siehe Console-Screenshot. Die ganze Zeile passt nicht auf das Bild, deswegen hier als Text:
tele/tasmota_DC2D6D/STATE = {"Time":"2022-11-18T19:59:41","Uptime":"0T00:11:51","UptimeSec":711,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"Pacuk 2,4GHz","BSSId":"44:4E:6D:14:A9:36","Channel":1,"Mode":"11n","RSSI":46,"Signal":-77,"LinkCount":1,"Downtime":"0T00:00:05"}}
Und genau diese Objekte sehe ich dann in ioBroker: Time, Uptime, UptimeSec, Heap, SleepMode, Dynamic, Sleep, LoadAvg, MqttCount, Wife ... Channel ... Signal ...
... die ich aber nicht brauche ![]()
Deswegen ein paar fragen (@leon):
- welche Tasmota hast du auf dein Wemos geflasht (von Trucki's Github Seite oder andere version) ?
- kannst du bitte screenshot von deinen ioBroker-Objekten machen (von deinem SUN2000)?
- und vielleicht auch screenshot von Tasmota-Logging parameter
Vielen Dank im Voraus
Ich bin schon verzweifelt ![]()
Hallo Pali,
Ich benutze die Tasmota Version von Trucki.
Ich glaube ich weiß was du falsch hast und zwar gehe mal deine Einstellung durch und schaue ob modbus tx und rx gesetzt wurde.
Mir ist nämlich aufgefallen das er bei mir ab und zu die modbus Einstellung auf einmal weg waren.
Schau bitte nach und schreib kurz ob es daran lag
... ich weiss nicht wie, aber die Werte habe ich endlich im ioBroker (siehe Screenshot).
Ich habe mit Einstellungen für Sonof Adapter gespielt ("Automatische Erstellung von Zuständen"), aber auch in Tasmota Module Configuration (geändert von Generic(18) auf Generic(0) und wieder zurück).
aber ich glaube die Objekte wurden "erschaffen" erst wenn ich den Befehl in Tasmota-Console ausgeführt habe:
MODBUSSEND {"deviceaddress": 1, "functioncode": 3, "startaddress": 0, "type":"uint16", "count":8}
Ich habe den Befehl natürlich auch früher schon benutzt, aber irgendwie hat das erst jetzt geklappt.
Leider kann ich den ModbusReceived_Values_0 (AC power) noch nicht vom ioBroker ändern ... aber immer hin ein Schritt nach vorne.
Nur zur info: nur der Wert ModbusReceived_Values_0 (AC power) wird im iobroker automatisch refreshed. D.h. wenn ich in Tasmota-Console den AC power einstelle mit
MODBUSSEND {"deviceaddress": 1, "functioncode": 6, "startaddress": 0, "type":"uint16", "count":1, "values":[1000]}
dann wird der Wert ModbusReceived_Values_0 automatisch auch angepasst.
Alle andere Werte ModbusReceived_Values_1-7 werden refreshed erst wenn man in Tasmota den Befehl ausführt: MODBUSSEND {"deviceaddress": 1, "functioncode": 3, "startaddress": 0, "type":"uint16", "count":8}
Aber wenn ich ModbusReceived_Values_0 im ioBroker manuell setzte, bleibt er im ioBroker fest auf diesem Wert (obwohl die Leistung auf dem SUN nicht geändert wurde). Der alte Wert kommt erst nach dem:
MODBUSSEND {"deviceaddress": 1, "functioncode": 3, "startaddress": 0, "type":"uint16", "count":8}
EDIT: alle Werte "ModbusReceived_Values" im ioBroker ändern sich nur nach dem Befehl MODBUSSEND ausgeführt in Tasmota-Console ...
Freut mich das es jetzt bei dir auch geklappt hast.
Ich habe schon paar Sachen ausprobiert aber bis jetzt konnte ich keine steuebefehle vom iobroker aus schicken diese werden immer als umbenannt angezeigt.
Werde mir wohl esphome mal anschauen.
Vielleicht funktioniert das auf Anhieb.
@leon und @ Pali
Ihr müsst mit einem Programm wie zb MQTT.fx einmal die Befehle in euer MQTT netz schicken.
Diese tauchen dann in den Objekten unter eurer Struktur in einem neuen Ordern auf.
Die Version MQTT.fx 1.xy gibt es kostenlos im Netz, die neuen Versionen sind kostenpflichtig.
In meinem Fall sah die Struktur so aus -> Smart/SUN1000/cmnd/MODBUSSEND und dann den entsprechenden Befehl als Message
zb.: {"deviceaddress": 1, "functioncode": 6, "startaddress": 0, "type":"uint16", "count":1, "values":[1000]} - um 100W einzustellen.
Wichtig ist ihr müsst im Befehl das MODBUSSEND raus löschen.
Über die Struktur oben könnt ihr alle Befehle schicken die Trucki auf seiner Github Seite hat.
Im Skript könnt ihr den Befehl ganz einfach über einen "erstelle Text aus" Baustein neu zusammen bauen.
1. {"deviceaddress": 1, "functioncode": 6, "startaddress": 0, "type":"uint16", "count":1, "values":[
2. der neue wert als Variable
3. ]}
vielen Dank @centz, für die genaue Beschreibung! ... das hilft uns endlich weiter.
Die aktuelle Werte im ioBroker ändern sich aber nicht automatisch, erst wenn ich in Tasmota in der Console irgendeinen MODBUSSEND-Befehlt ausführe. Ist das richtig so? Muss ich in Tasmota ein Skipt machen, das der Befehl MODBUSSEND regelmäßig ausführt, damit sich die Werte im ioBroker aktualisieren?
Dann entsteht die zweite Frage, ob das dann über ESPhome nicht einfacher wäre. Vielleicht hat schon jemand beides getestet und kann das vergleichen.
Ich kenne mich mit ESPhome überhaupt nicht aus, deswegen bleibe ich zuerst bei ioBroker und werde dort weiter mein Glück versuchen
Und später vielleicht noch mit Trucki's neuem T2S-Gateway.
Das ist richtig so, die Werte werden nur per Befehl abgefragt.
Könntest du über ein Skript ziemlich einfach realisieren.
Mit einem Zeittrigger und einfach den cmnd mit dem Befehl als Text ansteuern sollte reichen.
Ich habe tatsächlich beides ausprobiert und bin jetzt bei ESPHome, dass hat aber eher was mit der Kalibrierung zu tun.
Wenn man die nicht braucht ist es eigentlich relativ egal.
Über ESPHome kommen die Werte aber von allein, da musst du nichts anstoßen.
Du musst aber auf dem Raspi eine 64Bit Version laufen haben, sonst kannst du ESPHome nicht im ioBroker installieren.
Hallo centz,
Danke das du uns etwas hilfst.
Leider funktioniert bei mir das mit den Senden nicht die Variable ModBusSend ist im Iobroker da wenn ich dort den Standard Befehl setzte das die Leistung auf ca 300 Watt gehen soll bleibt er bei mir immer bei den 60 Watt stehen.
Im Tasmota kommt aber was an weil dort steht immer wenn ich ein Befehl sende unbekannter Befehl.
MfG
Leon
Ich sehe grade das du schon oben noch was geschrieben hast.
Wie ich das lese ist es mit ESPhome wohl einfacher den SUN zu steuern.
Hast du die Konfiguration von Trucki Seite genommen und nur wlan und mqtt hinzugefügt?
MfG
Leon
Du musst aber auf dem Raspi eine 64Bit Version laufen haben, sonst kannst du ESPHome nicht im ioBroker installieren.ich habe zwar Raspi4 mit 64bit ioBroker version am laufen. Aber das sieht für mich so aus, dass ESPhome dann ziemlich viel Rechenpower weg nimmt und vielleicht auch RAM. Das wäre für mich ein KO Kriterium, weil ich nur 2GB RAM auf dem Raspi habe und momentan 64% RAM-Auslastung. Das könnte dann vielleicht knapp werden ... also ich werde es zuerst lieber in ioBroker versuchen.




