Hallo,
hier einmal meine Datenpunktliste:
vielleicht spart das jemandem etwas Tipparbeit
Hallo,
hier einmal meine Datenpunktliste:
vielleicht spart das jemandem etwas Tipparbeit
Moin,
zum Export Management kann ich nichts sagen. Habe ich nicht weiter getestet, weil ich es nicht nutze.
Die Cloud-Anbindung funktionierte bei mir weiter (habe ich zur Plausibilitätsprüfung der Messwerte verwendet).
@sigika
Hallo,
"ILLEGAL FUNCTION" bezieht sich, soweit ich das beobachtet habe, auf den Modbus Function Code. Also um welchen registertyp es sich handelt, und ob im Block oder einzeln gelesen / geschrieben wird. Ich habe die Meldung immer bekommen, wenn (durch die unglückliche Adressberechnung der DTU) eine Adresse außerhalb des gültigen Adressbereichs heraus kam, oder nicht als Holding abgefragt habe (sie Register Liste von Hoymiles: function code 0x03.
wichtig war bei mir, dass die 1. Adresse im Block mit der offiziellen Adressliste übereinstimmt und dann die Register ab da zusammenhängend im Block gelesen werden.
Gruß
Hallo,
ich habe mich seit gestern auch einmal mit den Modbus Datenpunkten der DTU befasst und an mir selbst gezweifelt. (DTU-Pro-S mit HMS-800-2T)
Schuld ist die Adressierung, die die DTU verwendet. diese ist Byte-orientiert. Das führt dazu, dass die Adressen zwischen DTU und ioBroker (und anderen Modbus Clients) abweichen: die DTU zählt die Bytes ab der Startadresse hoch. ioBroker und andere zählen die Worte ab der Startadresse hoch. Und da die Register immer als Block (function code 0x03) gelesen werden...
Wichtig ist in den Allgemeinen Einstellungen noch die Blockgröße von 40 (oder einem Mehrfachen davon) Registern:
Hier einmal beispielhaft meine Datenpunkte für die Holding-Register:
_address name description unit type len factor offset formula role room poll wp cw isScale
4096 Inverter.1.SN.0 uint8be 1 1 0 x.toString(16) value true false false false
4097 Inverter.1.SN.1 uint8le 1 1 0 x.toString(16) value true false false false
4097 Inverter.1.SN.2 uint8be 1 1 0 x.toString(16) value true false false false
4098 Inverter.1.SN.4 uint8be 1 1 0 x.toString(16) value true false false false
4098 Inverter.1.SN.3 uint8le 1 1 0 x.toString(16) value true false false false
4099 Inverter.1.SN.5 uint8le 1 1 0 x.toString(16) value true false false false
4099 Inverter.1.Port uint8be 1 1 0 value true false false false
4100 Inverter.1.PV.Spannung V uint16be 1 0.1 0 value true false false false
4101 Inverter.1.PV.Strom A uint16be 1 0.01 0 value true false false false
4102 Inverter.1.Netz.Spannung V uint16be 1 0.1 0 value true false false false
4103 Inverter.1.Netz.Frequenz Hz uint16be 1 0.01 0 value true false false false
4104 Inverter.1.PV.Leistung W uint16be 1 0.1 0 value true false false false
4105 Inverter.1.Energie.heute Wh uint16be 1 1 0 value true false false false
4106 Inverter.1.Energie.gesamt Wh uint32be 2 1 0 value true false false false
4108 Inverter.1.Temperatur °C int16be 1 0.1 0 value.temperature true false false false
4109 Inverter.1.Status int16be 1 1 0 state true false false false
4110 Inverter.1.Alarm.Code int16be 1 1 0 state true false false false
4111 Inverter.1.Alarm.Count int16be 1 1 0 value true false false false
Ergebis:
Hallo,
hier einmal meine Datenpunktliste:
vielleicht spart das jemandem etwas Tipparbeit