Hallo zusammen,
ich habe eine Brauchwasserwärmepumpe und würde gerne über MODBUS die Daten auslesen bzw. steuern.
das mit dem Modbusattr hae ich schon mal hinbekommen. Am RS485 to Wifi steht dann auch connected.
Wenn ich dann auf ScanModbusObjects gehe sehe ich auch das er mit der mit der Schnittstelle redet (siehe Bild).
Allerdings finde ich keine Werte oder anderes.
Was mache ich falsch oder habe ich einen Denkfehler ?
LIST:
Internals:
CFGFN
DEF 1 30 192.168.2.191:5000 TCP
DeviceName 192.168.2.191:5000
EXPECT response
FD 92
FUUID 67c0db5b-f33f-2b59-5c8a-9a18548a220bb72e
IODev RS485_BWWP
Interval 30
LASTOPEN 1740692419.62391
MODBUSID 1
MODE master
MODULEVERSION Modbus 4.5.6 - 7.11.2023
NAME RS485_BWWP
NOTIFYDEV global
NR 949
NTFY_ORDER 50-RS485_BWWP
PARTIAL
PROTOCOL TCP
STATE opened
TCPConn 1
TIMEOUTS 159
TYPE ModbusAttr
devioLoglevel 3
devioNoSTATE 1
eventCount 5
nextOpenDelay 60
nextQueueRun 1740692925.19996
nextTimeout 1740692925.19694
scanOAdr 279
scanOEnd 16384
scanOLen 1
scanOStart 1
scanOType h
FRAME:
QUEUE:
HASH(0x45fc0d0)
HASH(0x43b1b98)
HASH(0x3eb5e10)
HASH(0x402d048)
HASH(0x3ea0870)
HASH(0x43bd0b0)
HASH(0x3fefe78)
HASH(0x401b690)
HASH(0x44080a8)
HASH(0x3ff1a60)
HASH(0x3ea99c0)
HASH(0x29f0038)
HASH(0x43a5ef0)
READ:
READINGS:
2025-02-27 22:40:20 state opened
REMEMBER:
lid 1
lname RS485_BWWP
lsend 1740692923.19943
REQUEST:
ADR 265
DBGINFO scan objs
FCODE 3
FRAME >␆␁␃␁ ␁
LEN 1
MODBUSID 1
OPERATION scanobj
QUEUED 1740692902.25518
READING
SENT 1740692923.19694
TID 62
TYPE h
MASTERHASH:
UPDATECACHE:
defptr:
RS485_BWWP 1
Attributes:
room Technikraum
EW11.jpg
Vorab Danke
Eventuell macht es Sinn hier mal die Bezeichnung der BWWP zu nennen und dafür beim Hersteller die ModBus Definition zu suchen, bzw. beim Service anzufragen.
BWWP ist eine Ecodesign 300WT, du hast natürlich vollkommen recht.
Danke für den Hinweis
Hallo zusammen,
vom Hersteller habe ich folgende Parameter erhalten siehe Anhang).
Wie kann ich jetzt diese im FHEM einbinden (Bsp. T2 Speicher-Temperatur oder 013.H_pump Betr.art) ?
ModBus_968088-10 ED 400, ED 300, ED 310 Compact, ED 300 WTE, VC200.pdf
Moin,
schau mal nach dem ModBus Thread für generelle Fragen zum Wiki und der commandref
Hier mal Beispiele von meinem Wechselrichter
# Ich habe mit für die Dekodierung einen default definiert
attr WR_1 dev-h-defFormat %.2f
attr WR_1 dev-h-defLen 2
attr WR_1 dev-h-defPoll 1
attr WR_1 dev-h-defRevRegs 1
attr WR_1 dev-h-defUnpack f>
# oder auch einen Type, damit ich das nicht bei jedem Register angeben muss
attr WR_1 dev-type-STR-format %s
attr WR_1 dev-type-STR-len 8
attr WR_1 dev-type-STR-revRegs 0
attr WR_1 dev-type-STR-unpack a*
# den default kann man dann bei einigen Registern auch wieder überschreiben, wenn es Abweichungen gibt
attr WR_1 obj-h104-format %s
attr WR_1 obj-h104-reading State_of_EM
attr WR_1 obj-h104-revRegs 0
attr WR_1 obj-h104-unpack N
# Es ist auch ein Mapping möglich, wenn man sprechende Werte verwenden möchte
attr WR_1 obj-h104-map 0:Normal,8:Ruhe1,16:Ruhe2,32:Ausgleichsladung,64:Tiefentladeschutz,256:externe Batteriesteuerung
# Hier ein Beispiel unter Verwendung des Type
attr WR_1 obj-h14-reading Inverter_serial_number
attr WR_1 obj-h14-type STR
# Diese verwenden dann den default
attr WR_1 obj-h258-reading I_DC1
attr WR_1 obj-h260-reading P_DC1
attr WR_1 obj-h266-reading U_DC1
- Aus der Tabelle solltest Du den Namen zu einem Standard übertragen, damit Du später auch Filter verwenden kannst.
- Die Adresse ist z.B. h258
- Die Länge (len) würde ich erstmal mit 1 ansetzen
VG Christian
ok, probiere ich dann mal.
Grundsätzliche frage nochmal: wenn der ModBus lebt, sollte er doch "Readings" im fhem ausgeben, oder ?
Da kommt nämlich nix... Oder muss ich erst die Paramter definieren ?
Zitat von: Mellowback am 06 März 2025, 13:21:39ok, probiere ich dann mal.
Grundsätzliche frage nochmal: wenn der ModBus lebt, sollte er doch "Readings" im fhem ausgeben, oder ?
Da kommt nämlich nix... Oder muss ich erst die Paramter definieren ?
Hast Du im Wiki mal gelesen? (https://wiki.fhem.de/wiki/ModbusAttr)
Bei mir werden unter dem SET Pulldown solche Möglichkeiten angezeigt.
Additionally the attribute enableControlSet enables the set options
interval, stop, start, reread as well as scanModbusObjects, scanStop
and scanModbusIds (for devices connected with RTU / ASCII over a serial line).
Das generiert aber nur readings, die man dann besser anschließend selber gezielt definiert.
Sorry, aber ich checks nicht, kannst du mir mal ein Code Bsp. Anhand der Daten meiner BWWP bereitstellen ?
DEF 1 30 192.168.2.191:5000 TCP
DeviceName 192.168.2.191:5000
EXPECT response
FD 108
FUUID 67c0db5b-f33f-2b59-5c8a-9a18548a220bb72e
IODev RS485_BWWP
Interval 30
LASTOPEN 1741288683.99007
MODBUSID 1
MODE master
MODULEVERSION Modbus 4.5.6 - 7.11.2023
NAME RS485_BWWP
NOTIFYDEV global
NR 945
NTFY_ORDER 50-RS485_BWWP
PARTIAL
PROTOCOL TCP
STATE opened
TCPConn 1
TIMEOUTS 335
TYPE ModbusAttr
devioLoglevel 3
devioNoSTATE 1
eventCount 21
nextOpenDelay 60
nextQueueRun 1741289773.81069
nextTimeout 1741289774.80792
scanOAdr 350
scanOEnd 16384
scanOLen 1
scanOStart 1
scanOType h
FRAME:
QUEUE:
HASH(0x560ffc0)
HASH(0x55aa2a0)
HASH(0x55a8068)
HASH(0x557fdf8)
HASH(0x525dad0)
HASH(0x2d2b018)
HASH(0x55a7e28)
HASH(0x5343188)
HASH(0x55a47f8)
HASH(0x4f41e98)
HASH(0x55a6bc0)
HASH(0x533ff48)
READ:
READINGS:
2025-03-06 20:18:04 state opened
REMEMBER:
lid 1
lname RS485_BWWP
lsend 1741289772.8104
REQUEST:
ADR 338
DBGINFO scan objs
FCODE 3
FRAME ␅␆␁␃␁R␁
LEN 1
MODBUSID 1
OPERATION scanobj
QUEUED 1741289755.62469
READING
SENT 1741289772.80792
TID 5
TYPE h
MASTERHASH:
UPDATECACHE:
defptr:
RS485_BWWP 1
Attributes:
room Technikraum
Ich glaube er meint, dass du das Attribut enableControlSet setzen sollst und dann irgendeine von den Scan-Funktionen nutzen sollst.
Wobei du das ja schon gemacht hast und es kommt nix? Deshalb einfach mal anfangen ein paar Register definiert abzufragen.
Zitat von: Mellowback am 06 März 2025, 13:21:39Da kommt nämlich nix... Oder muss ich erst die Paramter definieren ?
Ja. Du musst erst definieren, welche Adressen, etc. abgefragt werden sollen (oder halt scannen), vorher kommt da nix. Modbus ist kein Protokoll, das ständig Daten sendet. Sondern FHEM ist ein Client, der den Modbus-Server deiner BWP anfragt und dann auf Anfrage die Daten übermittelt bekommt.
Ansonsten fand ich diese Zuordnung hier noch hilfreich: https://forum.fhem.de/index.php?topic=115422.msg1283236#msg1283236
Und einfacher ist es vielleicht sogar direkt den Weg über eine Perl-Datei zu gehen, als sich mit diesen Attributen rumzuschlagen. Ist aber vielleicht Geschmackssache, je nach dem ob man lieber im Texteditor oder auf FHEMWEB arbeitet.
Ein gutes Beispiel für so eine Datei ist hier angehängt (98_ModbusSUN2000WR.pm):
https://forum.fhem.de/index.php?topic=115422.msg1323848#msg1323848
Die Datei kommt dann einfach unter /opt/fhem/FHEM und ist dann quasi ein eigenes Modul, das man dann wie Folgt einbinden kann (bleibe jetzt mal im SUN2000-Beispiel):
defmod wechselrichter ModbusSUN2000WR <Client-ID> <Abfrageintervall> <IP-Adresse> TCP
Danke für deinen Hinweis.
Ich habe folgendes durchgeführt:
Attr enableControlSet 1
set scanModbusObjects
leider keine Readings... :(
Kann ich mich auch hier an dieser Beschreibung orientieren in bezug auf Readings ?
https://github.com/frankol/ecodesign-homeassistant
Zumindest kannst Du da Beispiele für die wichtigen Register finden.
Ich bin mir echt nicht sicher, ob das Device bereits richtig eine Verbindung hat. Bei mir hat das Scannern funktioniert und im Anschluss babe ich die Register mit Attributen direkt selber eingetragen, damit ich auch die Namen nach einem Standard festlegen konnte.
Und nur Mut, ich habe mehreren Monate daran gearbeitet :-)
Ich habe jetzt mal mir das Beispiel aus dem Link https://forum.fhem.de/index.php?topic=115422.msg1283236#msg1283236
attr Sun2000 obj-h32114-reading Daily_energy_yield
attr Sun2000 obj-h32114-len 2
attr Sun2000 obj-h32114-unpack N
attr Sun2000 obj-h32114-expr $val/100
attr Sun2000 obj-h32114-poll 1
für die erste Zeile sollte es dann bei mir wie folgt aussehen:
attr RS485_BWWP obj-8-reading ecodesign_temp_ist
anhand folgende Vorgabe: obj-[cdih][0-9]+-reading
leider nimmt er das nichtn
Was muss ich den bei meiner BWWP für [cdih] und [0-9] eintragen ?
Ich dachte [0-9] ist die Adresse oder ?
attr RS485_BWWP obj-h8-reading T2
hat er jetz genommen, allerdings nur die attributes
Für mich scheint die Fernbedienung noch nicht zu stehen.
Unter set kannst du stop,start, reread, scan usw. Verwenden. Dann müsste zumindest irgend etwas kommen.
Ist in dem Gerät auch Modbus aktiv?
laut Schnittstelle schon, oder (siehe Bild) ?
Was soll ich sagen, es lebt ! Ich bekomme Readings.
Scheinbar war noch etwas bei der Schnittstelle falsch (RTU statt TCP).
Wo steht jetzt die Temperatur ?
Internals:
CFGFN
DEF 1 60 192.168.2.191:5000 RTU
DeviceName 192.168.2.191:5000
EXPECT idle
FD 4
FUUID 67ca1b1f-f33f-2b59-7fe6-a24fec921c54071f
IODev RS485_BWWP
Interval 60
LASTOPEN 1741346042.2625
LeadingZeros 1
MODBUSID 1
MODE master
MODULEVERSION Modbus 4.5.6 - 7.11.2023
NAME RS485_BWWP
NOTIFYDEV global
NR 952
NTFY_ORDER 50-RS485_BWWP
PARTIAL
PROTOCOL RTU
STATE opened
TCPConn 1
TYPE ModbusAttr
devioLoglevel 3
devioNoSTATE 1
eventCount 98
nextOpenDelay 60
scanOAdr 133
scanOEnd 16384
scanOLen 1
scanOStart 1
scanOType h
DICACHE:
131:
UNPACK
EXPRS:
EXTRAS:
FNAMES:
PICACHE:
h119:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
QUEUE:
READ:
BUFFER
READINGS:
2025-03-07 12:14:26 T2 39322.6
2025-03-07 12:14:02 scan-h00066 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:02 scan-h00067 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:05 scan-h00068 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:05 scan-h00069 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:05 scan-h00070 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:05 scan-h00071 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00072 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00073 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00074 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00075 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00076 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00077 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00078 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:06 scan-h00079 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:07 scan-h00080 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:08 scan-h00081 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:09 scan-h00082 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:13 scan-h00083 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:14 scan-h00084 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:15 scan-h00085 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:18 scan-h00086 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:19 scan-h00087 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:20 scan-h00088 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:21 scan-h00089 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:22 scan-h00090 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:26 scan-h00091 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:27 scan-h00092 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:28 scan-h00093 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:31 scan-h00094 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:32 scan-h00095 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:33 scan-h00096 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:34 scan-h00097 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:35 scan-h00098 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:39 scan-h00099 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:40 scan-h00100 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:14:41 scan-h00101 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:44 scan-h00102 hex=0002, string=.., s=512, s>=2, S=512, S>=2
2025-03-07 12:14:45 scan-h00103 hex=003a, string=.:, s=14848, s>=58, S=14848, S>=58
2025-03-07 12:14:46 scan-h00104 hex=0010, string=.., s=4096, s>=16, S=4096, S>=16
2025-03-07 12:14:47 scan-h00105 hex=000c, string=.., s=3072, s>=12, S=3072, S>=12
2025-03-07 12:14:48 scan-h00106 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:14:52 scan-h00107 hex=001f, string=.., s=7936, s>=31, S=7936, S>=31
2025-03-07 12:14:53 scan-h00108 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:14:54 scan-h00109 hex=07e4, string=.., s=-7161, s>=2020, S=58375, S>=2020
2025-03-07 12:14:57 scan-h00110 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:58 scan-h00111 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:59 scan-h00112 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:15:00 scan-h00113 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:15:01 scan-h00114 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:15:05 scan-h00115 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:15:06 scan-h00116 hex=0002, string=.., s=512, s>=2, S=512, S>=2
2025-03-07 12:15:07 scan-h00117 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:15:10 scan-h00118 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:15:11 scan-h00119 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:02 state opened
REMEMBER:
lid 1
lname RS485_BWWP
lrecv 1741346133.27908
lsend 1741346133.26142
UPDATECACHE:
defptr:
RS485_BWWP 1
gotReadings:
scan-h00119 hex=0000, string=.., s=0, s>=0, S=0, S>=0
lastRead:
h100 1741346080.13538
h101 1741346081.04158
h102 1741346084.67703
h103 1741346085.68324
h104 1741346086.68196
h105 1741346087.71387
h106 1741346088.72241
h107 1741346092.11244
h108 1741346093.13123
h109 1741346094.13211
h110 1741346097.68293
h111 1741346098.69026
h112 1741346099.68865
h113 1741346100.67414
h114 1741346101.78811
h115 1741346105.19711
h116 1741346106.15517
h117 1741346107.15615
h118 1741346110.65818
h119 1741346111.65736
h66 1741346042.33969
h67 1741346042.46221
h68 1741346045.59616
h69 1741346045.72648
h70 1741346045.84821
h71 1741346045.97143
h72 1741346046.0942
h73 1741346046.21712
h74 1741346046.34027
h75 1741346046.46323
h76 1741346046.58611
h77 1741346046.70933
h78 1741346046.83222
h79 1741346046.95517
h8 1741346066.91762
h80 1741346047.74627
h81 1741346048.74339
h82 1741346049.73684
h83 1741346053.09071
h84 1741346054.10433
h85 1741346055.08928
h86 1741346058.62927
h87 1741346059.63091
h88 1741346060.63224
h89 1741346061.62632
h90 1741346062.63521
h91 1741346066.23028
h92 1741346067.24798
h93 1741346068.24928
h94 1741346071.93432
h95 1741346072.73427
h96 1741346073.73305
h97 1741346074.73768
h98 1741346075.7349
h99 1741346079.03924
Attributes:
enableControlSet 1
obj-h00066-reading scan-h00066
obj-h00067-reading scan-h00067
obj-h00068-reading scan-h00068
obj-h00069-reading scan-h00069
obj-h00070-reading scan-h00070
obj-h00071-reading scan-h00071
obj-h00072-reading scan-h00072
obj-h00073-reading scan-h00073
obj-h00074-reading scan-h00074
obj-h00075-reading scan-h00075
obj-h00076-reading scan-h00076
obj-h00077-reading scan-h00077
obj-h00078-reading scan-h00078
obj-h00079-reading scan-h00079
obj-h00080-reading scan-h00080
obj-h00081-reading scan-h00081
obj-h00082-reading scan-h00082
obj-h00083-reading scan-h00083
obj-h00084-reading scan-h00084
obj-h00085-reading scan-h00085
obj-h00086-reading scan-h00086
obj-h00087-reading scan-h00087
obj-h00088-reading scan-h00088
obj-h00089-reading scan-h00089
obj-h00090-reading scan-h00090
obj-h00091-reading scan-h00091
obj-h00092-reading scan-h00092
obj-h00093-reading scan-h00093
obj-h00094-reading scan-h00094
obj-h00095-reading scan-h00095
obj-h00096-reading scan-h00096
obj-h00097-reading scan-h00097
obj-h00098-reading scan-h00098
obj-h00099-reading scan-h00099
obj-h00100-reading scan-h00100
obj-h00101-reading scan-h00101
obj-h00102-reading scan-h00102
obj-h00103-reading scan-h00103
obj-h00104-reading scan-h00104
obj-h00105-reading scan-h00105
obj-h00106-reading scan-h00106
obj-h00107-reading scan-h00107
obj-h00108-reading scan-h00108
obj-h00109-reading scan-h00109
obj-h00110-reading scan-h00110
obj-h00111-reading scan-h00111
obj-h00112-reading scan-h00112
obj-h00113-reading scan-h00113
obj-h00114-reading scan-h00114
obj-h00115-reading scan-h00115
obj-h00116-reading scan-h00116
obj-h00117-reading scan-h00117
obj-h00118-reading scan-h00118
obj-h00119-reading scan-h00119
room Technikraum
jetzt hat er weitere Werte im Readung gefunden:
Internals:
CFGFN
DEF 1 60 192.168.2.191:5000 RTU
DeviceName 192.168.2.191:5000
EXPECT idle
FD 4
FUUID 67ca1b1f-f33f-2b59-7fe6-a24fec921c54071f
IODev RS485_BWWP
Interval 60
LASTOPEN 1741346042.2625
LeadingZeros 1
MODBUSID 1
MODE master
MODULEVERSION Modbus 4.5.6 - 7.11.2023
NAME RS485_BWWP
NOTIFYDEV global
NR 952
NTFY_ORDER 50-RS485_BWWP
PARTIAL
PROTOCOL RTU
STATE opened
TCPConn 1
TYPE ModbusAttr
devioLoglevel 3
devioNoSTATE 1
eventCount 341
nextOpenDelay 60
nextQueueRun 1741347203.65995
scanOAdr 201
scanOEnd 16384
scanOLen 1
scanOStart 1
scanOType h
DICACHE:
131:
UNPACK
EXPRS:
EXTRAS:
FNAMES:
3:
UNPACK
EXPRS:
EXTRAS:
FNAMES:
FRAME:
PICACHE:
h00008:
bswapRegs
decode
encode
expr $val/10
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h112:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h113:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h114:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h115:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h116:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h117:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h118:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
h119:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
QUEUE:
HASH(0x4c3fc38)
READ:
BUFFER
READINGS:
2025-03-07 12:32:39 T2 0.6
2025-03-07 12:27:36 scan-h00001 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:27:40 scan-h00002 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:27:41 scan-h00003 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:27:45 scan-h00004 hex=002a, string=.*, s=10752, s>=42, S=10752, S>=42
2025-03-07 12:27:46 scan-h00005 hex=0024, string=.$, s=9216, s>=36, S=9216, S>=36
2025-03-07 12:27:47 scan-h00006 hex=000a, string=.., s=2560, s>=10, S=2560, S>=10
2025-03-07 12:27:48 scan-h00007 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:27:49 scan-h00008 hex=0006, string=.., s=1536, s>=6, S=1536, S>=6
2025-03-07 12:27:53 scan-h00009 hex=000a, string=.., s=2560, s>=10, S=2560, S>=10
2025-03-07 12:27:54 scan-h00010 hex=0011, string=.., s=4352, s>=17, S=4352, S>=17
2025-03-07 12:27:55 scan-h00011 hex=0032, string=.2, s=12800, s>=50, S=12800, S>=50
2025-03-07 12:27:58 scan-h00012 hex=0003, string=.., s=768, s>=3, S=768, S>=3
2025-03-07 12:27:59 scan-h00013 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:00 scan-h00014 hex=0008, string=.., s=2048, s>=8, S=2048, S>=8
2025-03-07 12:28:01 scan-h00015 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:02 scan-h00016 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:06 scan-h00017 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:28:07 scan-h00018 hex=0035, string=.5, s=13568, s>=53, S=13568, S>=53
2025-03-07 12:28:08 scan-h00019 hex=0037, string=.7, s=14080, s>=55, S=14080, S>=55
2025-03-07 12:28:12 scan-h00020 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:12 scan-h00021 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:28:13 scan-h00022 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:14 scan-h00023 hex=0002, string=.., s=512, s>=2, S=512, S>=2
2025-03-07 12:28:15 scan-h00024 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:19 scan-h00025 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:28:20 scan-h00026 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:28:24 scan-h00027 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:25 scan-h00028 hex=0037, string=.7, s=14080, s>=55, S=14080, S>=55
2025-03-07 12:28:26 scan-h00029 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:27 scan-h00030 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:28 scan-h00031 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:32 scan-h00032 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:33 scan-h00033 hex=0007, string=.., s=1792, s>=7, S=1792, S>=7
2025-03-07 12:28:34 scan-h00034 hex=270f, string='., s=3879, s>=9999, S=3879, S>=9999
2025-03-07 12:28:37 scan-h00035 hex=001e, string=.., s=7680, s>=30, S=7680, S>=30
2025-03-07 12:28:38 scan-h00036 hex=0012, string=.., s=4608, s>=18, S=4608, S>=18
2025-03-07 12:28:39 scan-h00037 hex=0037, string=.7, s=14080, s>=55, S=14080, S>=55
2025-03-07 12:28:40 scan-h00038 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:41 scan-h00039 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:45 scan-h00040 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:46 scan-h00041 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:47 scan-h00042 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:50 scan-h00043 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:51 scan-h00044 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:52 scan-h00045 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:53 scan-h00046 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:54 scan-h00047 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:58 scan-h00048 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:28:59 scan-h00049 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:00 scan-h00050 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:03 scan-h00051 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:04 scan-h00052 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:05 scan-h00053 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:06 scan-h00054 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:07 scan-h00055 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:11 scan-h00056 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:12 scan-h00057 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:13 scan-h00058 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:16 scan-h00059 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:17 scan-h00060 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:18 scan-h00061 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:19 scan-h00062 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:20 scan-h00063 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:24 scan-h00064 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:25 scan-h00065 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:26 scan-h00066 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:29 scan-h00067 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:30 scan-h00068 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:31 scan-h00069 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:32 scan-h00070 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:33 scan-h00071 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:37 scan-h00072 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:38 scan-h00073 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:42 scan-h00074 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:43 scan-h00075 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:44 scan-h00076 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:45 scan-h00077 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:46 scan-h00078 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:50 scan-h00079 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:51 scan-h00080 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:52 scan-h00081 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:55 scan-h00082 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:56 scan-h00083 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:57 scan-h00084 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:58 scan-h00085 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:29:59 scan-h00086 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:04 scan-h00087 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:05 scan-h00088 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:08 scan-h00089 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:09 scan-h00090 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:10 scan-h00091 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:11 scan-h00092 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:12 scan-h00093 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:16 scan-h00094 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:17 scan-h00095 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:21 scan-h00096 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:22 scan-h00097 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:23 scan-h00098 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:24 scan-h00099 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:25 scan-h00100 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:30:29 scan-h00101 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:30 scan-h00102 hex=0002, string=.., s=512, s>=2, S=512, S>=2
2025-03-07 12:30:31 scan-h00103 hex=000f, string=.., s=3840, s>=15, S=3840, S>=15
2025-03-07 12:30:35 scan-h00104 hex=0020, string=.., s=8192, s>=32, S=8192, S>=32
2025-03-07 12:30:35 scan-h00105 hex=000c, string=.., s=3072, s>=12, S=3072, S>=12
2025-03-07 12:30:36 scan-h00106 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:30:37 scan-h00107 hex=001f, string=.., s=7936, s>=31, S=7936, S>=31
2025-03-07 12:30:38 scan-h00108 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:30:42 scan-h00109 hex=07e4, string=.., s=-7161, s>=2020, S=58375, S>=2020
2025-03-07 12:30:43 scan-h00110 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:44 scan-h00111 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:48 scan-h00112 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:49 scan-h00113 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:30:50 scan-h00114 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:30:51 scan-h00115 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:30:55 scan-h00116 hex=0002, string=.., s=512, s>=2, S=512, S>=2
2025-03-07 12:30:56 scan-h00117 hex=0001, string=.., s=256, s>=1, S=256, S>=1
2025-03-07 12:31:00 scan-h00118 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:31:01 scan-h00119 hex=0000, string=.., s=0, s>=0, S=0, S>=0
2025-03-07 12:14:02 state opened
REMEMBER:
lid 1
lname RS485_BWWP
lrecv 1741347203.57994
lsend 1741347200.56914
UPDATECACHE:
h00008:
adr 00008
len 2
objCombi h00008
reading T2
span 2
type h
defptr:
RS485_BWWP 1
gotReadings:
T2 0.6
lastRead:
h00008 1741347159.64729
h1 1741346856.44187
h10 1741346874.1956
h100 1741347025.86447
h101 1741347029.44259
h102 1741347030.43954
h103 1741347031.44157
h104 1741347035.08314
h105 1741347035.51407
h106 1741347036.51639
h107 1741347037.51467
h108 1741347038.51949
h109 1741347042.44967
h11 1741346875.19638
h110 1741347043.44899
h111 1741347044.44948
h112 1741347048.43314
h113 1741347049.45265
h114 1741347050.45549
h115 1741347051.45738
h116 1741347055.63882
h117 1741347056.64342
h118 1741347060.65471
h119 1741347061.6066
h12 1741346878.75651
h13 1741346879.72437
h14 1741346880.89168
h15 1741346881.89063
h16 1741346882.89641
h17 1741346886.28046
h18 1741346887.28244
h19 1741346888.28441
h2 1741346860.41965
h20 1741346892.0087
h21 1741346892.83354
h22 1741346893.83358
h23 1741346894.83555
h24 1741346895.83633
h25 1741346899.43567
h26 1741346900.43738
h27 1741346904.42143
h28 1741346905.41865
h29 1741346906.51763
h3 1741346861.4245
h30 1741346907.52143
h31 1741346908.5234
h32 1741346912.36638
h33 1741346913.36867
h34 1741346914.37047
h35 1741346917.53355
h36 1741346918.53455
h37 1741346919.53555
h38 1741346920.5415
h39 1741346921.54408
h4 1741346865.94871
h40 1741346925.37541
h41 1741346926.37737
h42 1741346927.3795
h43 1741346930.67259
h44 1741346931.67344
h45 1741346932.67539
h46 1741346933.67741
h47 1741346934.67856
h48 1741346938.38541
h49 1741346939.38348
h5 1741346866.95268
h50 1741346940.38537
h51 1741346943.7157
h52 1741346944.72047
h53 1741346945.72255
h54 1741346946.72339
h55 1741346947.72543
h56 1741346951.39054
h57 1741346952.38778
h58 1741346953.3877
h59 1741346956.51568
h6 1741346867.95449
h60 1741346957.5176
h61 1741346958.51853
h62 1741346959.52054
h63 1741346960.52148
h64 1741346964.39859
h65 1741346965.40051
h66 1741346966.40251
h67 1741346969.46962
h68 1741346970.47164
h69 1741346971.47344
h7 1741346868.95556
h70 1741346972.47447
h71 1741346973.47648
h72 1741346977.61081
h73 1741346978.54259
h74 1741346982.52997
h75 1741346983.53987
h76 1741346984.54259
h77 1741346985.54546
h78 1741346986.54739
h79 1741346990.41548
h8 1741346869.99381
h80 1741346991.41271
h81 1741346992.41744
h82 1741346995.54075
h83 1741346996.48852
h84 1741346997.48949
h85 1741346998.49152
h86 1741346999.49354
h87 1741347004.42827
h88 1741347005.43182
h89 1741347008.56462
h9 1741346873.19291
h90 1741347009.51597
h91 1741347010.52182
h92 1741347011.52324
h93 1741347012.64895
h94 1741347016.56279
h95 1741347017.56655
h96 1741347021.50092
h97 1741347022.50273
h98 1741347023.86017
h99 1741347024.86179
Attributes:
enableControlSet 1
obj-h00001-reading scan-h00001
obj-h00002-reading scan-h00002
obj-h00003-reading scan-h00003
obj-h00004-reading scan-h00004
obj-h00005-reading scan-h00005
obj-h00006-reading scan-h00006
obj-h00007-reading scan-h00007
obj-h00008-expr $val/10
obj-h00008-len 2
obj-h00008-poll 1
obj-h00008-reading T2
obj-h00009-reading scan-h00009
obj-h00010-reading scan-h00010
obj-h00011-reading scan-h00011
obj-h00012-reading scan-h00012
obj-h00013-reading scan-h00013
obj-h00014-reading scan-h00014
obj-h00015-reading scan-h00015
obj-h00016-reading scan-h00016
obj-h00017-reading scan-h00017
obj-h00018-reading scan-h00018
obj-h00019-reading scan-h00019
obj-h00020-reading scan-h00020
obj-h00021-reading scan-h00021
obj-h00022-reading scan-h00022
obj-h00023-reading scan-h00023
obj-h00024-reading scan-h00024
obj-h00025-reading scan-h00025
obj-h00026-reading scan-h00026
obj-h00027-reading scan-h00027
obj-h00028-reading scan-h00028
obj-h00029-reading scan-h00029
obj-h00030-reading scan-h00030
obj-h00031-reading scan-h00031
obj-h00032-reading scan-h00032
obj-h00033-reading scan-h00033
obj-h00034-reading scan-h00034
obj-h00035-reading scan-h00035
obj-h00036-reading scan-h00036
obj-h00037-reading scan-h00037
obj-h00038-reading scan-h00038
obj-h00039-reading scan-h00039
obj-h00040-reading scan-h00040
obj-h00041-reading scan-h00041
obj-h00042-reading scan-h00042
obj-h00043-reading scan-h00043
obj-h00044-reading scan-h00044
obj-h00045-reading scan-h00045
obj-h00046-reading scan-h00046
obj-h00047-reading scan-h00047
obj-h00048-reading scan-h00048
obj-h00049-reading scan-h00049
obj-h00050-reading scan-h00050
obj-h00051-reading scan-h00051
obj-h00052-reading scan-h00052
obj-h00053-reading scan-h00053
obj-h00054-reading scan-h00054
obj-h00055-reading scan-h00055
obj-h00056-reading scan-h00056
obj-h00057-reading scan-h00057
obj-h00058-reading scan-h00058
obj-h00059-reading scan-h00059
obj-h00060-reading scan-h00060
obj-h00061-reading scan-h00061
obj-h00062-reading scan-h00062
obj-h00063-reading scan-h00063
obj-h00064-reading scan-h00064
obj-h00065-reading scan-h00065
obj-h00066-reading scan-h00066
obj-h00067-reading scan-h00067
obj-h00068-reading scan-h00068
obj-h00069-reading scan-h00069
obj-h00070-reading scan-h00070
obj-h00071-reading scan-h00071
obj-h00072-reading scan-h00072
obj-h00073-reading scan-h00073
obj-h00074-reading scan-h00074
obj-h00075-reading scan-h00075
obj-h00076-reading scan-h00076
obj-h00077-reading scan-h00077
obj-h00078-reading scan-h00078
obj-h00079-reading scan-h00079
obj-h00080-reading scan-h00080
obj-h00081-reading scan-h00081
obj-h00082-reading scan-h00082
obj-h00083-reading scan-h00083
obj-h00084-reading scan-h00084
obj-h00085-reading scan-h00085
obj-h00086-reading scan-h00086
obj-h00087-reading scan-h00087
obj-h00088-reading scan-h00088
obj-h00089-reading scan-h00089
obj-h00090-reading scan-h00090
obj-h00091-reading scan-h00091
obj-h00092-reading scan-h00092
obj-h00093-reading scan-h00093
obj-h00094-reading scan-h00094
obj-h00095-reading scan-h00095
obj-h00096-reading scan-h00096
obj-h00097-reading scan-h00097
obj-h00098-reading scan-h00098
obj-h00099-reading scan-h00099
obj-h00100-reading scan-h00100
obj-h00101-reading scan-h00101
obj-h00102-reading scan-h00102
obj-h00103-reading scan-h00103
obj-h00104-reading scan-h00104
obj-h00105-reading scan-h00105
obj-h00106-reading scan-h00106
obj-h00107-reading scan-h00107
obj-h00108-reading scan-h00108
obj-h00109-reading scan-h00109
obj-h00110-reading scan-h00110
obj-h00111-reading scan-h00111
obj-h00112-reading scan-h00112
obj-h00113-reading scan-h00113
obj-h00114-reading scan-h00114
obj-h00115-reading scan-h00115
obj-h00116-reading scan-h00116
obj-h00117-reading scan-h00117
obj-h00118-reading scan-h00118
obj-h00119-reading scan-h00119
mit den Readings kann ich nicht wirklich was anfangen, jemand eine Idee wo ich zum Beispiel die IST Temperatur finde ?
Jetzt fängt die Arbeit an...
Nun gehst Du her und nimmst aus der Hersteller Doku die einzelnen Register und definierst sie mit den Attributen, also die Startadresse h00001, len z.b 1 Codierung Dezember, hex, string, oder was auch immer der Hersteller angibt. Wenn Du einen Wert hast, kopier das für andere gleiche Register, bis alle da sind,die Du brauchst, oder besser alle, falls Du mal eine brauchst.
@Mellowback , ich kenne zwar deine WP nicht aber wenn ich deine verlinkte Modbus Doku richtig lese
dann stehen deine beiden gewünschten Temperaturen in den i (Input 4x) 7 + 8 Registern.
Gescannt hast du aber die komplette h (obj-hxx Holding 3x) Range.
kannst du mir Anhand T2 (Speicher-Temperatur) auf der zweiten Seite mal das Beispiel schreiben. Ich verstehe noch nicht ganz wie ich es definieren muss.
Vorab Danke
define DERS485_BWWP 1 60 192.168.2.191:5000 RTU
scheint schon mal OK zu sein da du so Werte holen kannst.
jetzt du den Attributen :
attr DERS485_BWWP dev-i-defPoll 1
spart bei mehr als einem Register Tipparbeit
attr DERS485_BWWP obj-i7-reading Temperatur
das Register i7 soll als Reading Temperatur erscheinen
attr DERS485_BWWP obj-i7-unpack s>
ob das Format s> - k.A. hier musst du eventuell probieren was einen gescheiten Wert liefert
Wichtig : alle Attribute in der Form obj-xxx musst du über die Kommandozeile eingeben, da geht kein picken aus der DropDown Liste :)
Klasse, Danke schon mal für deine Bemühungen.
bei Temperatur bringt der 215 als Reading.
Das passt natürlich nicht, was muss ich anpassen/ausprobieren ?
So ich habe jetzt mal ein wenig gespielt:
attr RS485_BWWP dev-i-defPoll 1
attr RS485_BWWP obj-i8-reading TemperaturIST
attr RS485_BWWP obj-i8-unpack s>
Jetzt bekomme folgendes Ergebnis: TemperaturIST 438
Ich gehe davon aus das die 438 = 43,8GradCelsius sind.
Wie verändere ich jetzt das format ?
Zitat von: Mellowback am 08 März 2025, 03:14:37Jetzt bekomme folgendes Ergebnis: TemperaturIST 438
Ich gehe davon aus das die 438 = 43,8GradCelsius sind.
Wie verändere ich jetzt das format ?
Moin
attr RS485_BWWP obj-i8-expr $val/10
Noch ein Tip, mach ein rename vom Device und lass das RS485_ im Namen weg. Das siehst Du in der Device Definition bereits und später interessiert es zumindest im Devicenamen nicht mehr.
Klasse, dann habe ich die Basics erstmal.
Eine frage noch und dann probiere ich weiter.
Ich möchte gerne die Betriebsart über FHEM einstellen.
Beim Hersteller ist folgendes hinterlegt:
Name Modbus Address Min Max Decimal OffSet Remarks
013.H_pump 12 0 5 0 0 0 = Off
(Betr.art) 1 = Only HP
2 = Only EL
3 = HP + EL
4 = Boiler
5 = HP + Boiler
wie würde hier ein entsprechendes define aussehen?
Ich schreibe bei mir zwar keine Register, aber wenn man die commandref liest ... dann ...
zuerst dein H Register 12 mit in die Attribute nehmen :
attr RS485_BWWP obj-h12-reading H_pump
dann festlegen das du es auch beschreiben willst :
attr RS485_BWWP obj-h12-set 1
wirklich beschrieben wird dann von dir mit einem simplen
setreading RS485_BWWP H_pump X
wobei X laut deiner WP Doku Werte von 0-5 haben kann
Das funktioniert wunderbar :)
Und gibts das auch als schönes Webinterface also mit dem aktuellen Wert und einen Auswahl mit der entsprechenden Bezeichnung wie aufgeführt: 0 = aus 1 = Wärmepumpe 2 = elektrisch 3= Wärmepumpe + elektrisch 4 = Boiler 5 = Wärmepumpe + Boiler
Sorry aber wenn du schon mal hier bist dann muss ich gleich so blöd Fragen :)
Zitat von: Mellowback am 08 März 2025, 11:45:55Und gibts das auch als schönes Webinterface
In FHEM gibt es (fast) alles , in dem Fall würde ich unbedingt mal das hier lesen -> https://wiki.fhem.de/wiki/FHEMWEB/Widgets
da wird dir alles geboten, ob einfache DropDown Liste, Radiobuttons mit Text oder oder
dann habe ich mich falsch ausgedrückt ich würde gerne im Gerät den Aktuellen Status anzeigen plus Auswahl.
Also nichts besonderes.
geht das nicht über commandTemplate ?
oder eher attr RS485_BWWP webCmd H_pump und attr RS485_BWWP setList state:0,1,2,3,4,5
aber wie kann ich dann die zahlen umbenennen so das das system trotzdem im Hintergrund den ModBus richtig anspricht ?
irgendwie komme ich nicht weiter.
Sollte ich vielleicht einen Dummy erstellen und darüber das ganze steuern ?
Aber wie definiere ich den Dummy?
Und wie kann ich es so darstellen das ich nicht die zahlen 1,2,3,4,5 auswählen muss ?
was war denn an dem verlinkten Wiki so unklar ?
Du brauchst dir doch nur ein Stück aus dem Code dort kopieren, z.b. als Radio Buttons :
define testwidget1 dummy
attr testwidget1 eventMap aus:0 WP:1 elektrisch:2 WP_elektrisch:3 Boiler:4 WP_Boiler:5
attr testwidget1 setList state:uzsuSelectRadio,aus,WP,elektrisch,WP_elektrisch,Boiler,WP_Boiler
attr testwidget1 webCmd state
attr testwidget1 widgetOverride setList
oder als DropDown :
define testwidget2 dummy
attr testwidget2 eventMap aus:0 WP:1 elektrisch:2 WP_elektrisch:3 Boiler:4 WP_Boiler:5
attr testwidget setList state:uzsuDropDown,aus,WP,elektrisch,WP_elektrisch,Boiler,WP_Boiler
attr testwidget2 webCmd state
attr testwidget2 widgetOverride setList
und zu guter letzt noch ein notify das auf die Änderungen reagiert und dein Modbus Register setzt :
define testwidget_notify_1 notify testwidget.:.* {fhem("setreading RS485_BWWP H_pump $EVTPART0");}
beim notify bekomme ich folgenden Fehler:
Missing right curly or square bracket at (eval 51036) line 1, at end of line
syntax error at (eval 51036) line 1, at EOF
habs mit folgenden Befehl versucht, allerdings setzt er nicht die Zahl beim ModBus
define WarmWasserSpeicher_notify_1 notify WarmWasserSpeicher.:.* { fhem "setreading RS485_BWWP H_pump $EVTPART0"}
Du must dich mehr mit den FHEM Grundlagen beschäftigen !
Ich hatte in meinem notify testwidget.:.* damit es auf das erste und zweite Beispiel triggert.
Du hast daraus WarmWasserSpeicher.:.* gemacht , hast aber mit Sicherheit nur einen WarmWasserSpeicher Dummy ?!?
Ergo nicht WarmWasserSpeicher.:.* sondern WarmWasserSpeicher:.*
Klasse, das war es. Jetzt funktioniert es. Ja ich muss mal wieder mein Wissen etwas auffrischen.
Ich denke es geht auch ohne Dummy und Notify:
attr RS485_BWWP obj-h12-set 1
attr RS485_BWWP obj-h12-map 0:Off, 1:Only HP, 2:Only EL, 3:HP + EL, 4:Boiler, 5:HP + Boiler
Zitat von: Mellowback am 08 März 2025, 19:01:12beim notify bekomme ich folgenden Fehler:
Missing right curly or square bracket at (eval 51036) line 1, at end of line
syntax error at (eval 51036) line 1, at EOF
ja wenn man es "am Stück" direkt in der Kommandozeile eingibt muss das Semikolon am Ende verdoppelt werden ...
define testwidget_notify_1 notify testwidget.:.* {fhem("setreading RS485_BWWP H_pump $EVTPART0");;}
@fz55, IMHO sorgt das obj-h12-map im ModbusAttr Device "nur" dafür das beim auslesen des Registers im Reading der betreffende Text steht statt der nackten Zahl.
Dem TE ging es aber doch um :
a. eine "schöne" Eingabemöglichkeit in FHEMWEB zu zu haben , und
b. Text statt Zahl als Eingabe zu haben
und wie wird ohne notify dem ModbusAttr klar gemacht das es
jetzt das Register beschreiben soll ?
@Wzut
Das Mapping funktioniert in beide Richtungen und durch "attr RS485_BWWP obj-h12-set 1" wird in FHEM ein Feld zum Setzen des Wertes (in Verbindung mit -map als DropDown) eingeblendet.
Hier die Dokus dazu:
- obj-[cdih][0-9]+-map
In master mode defines a map to convert raw values read from an external device to more convenient strings that are then stored in Fhem readings or back (as reversed map) when a value to write has to be converted from the user set value to a raw value that can be written.
In slave mode defines a map to convert raw values received from an external device with a write function code to more convenient strings that are then stored in Fhem readings
or back (as reversed map) when a value to read has to be converted from the Fhem reading value to a raw value that can be sent back as response.
Example: attr MBTest obj-h225-map 0:mittig, 1:oberhalb, 2:unterhalb - obj-[cdih][0-9]+-set
if set to 1 then this data object (e.g. obj-h225) can be changed with a Fhem set command which results in a modbus write request sent to the external slave device.
(works only if this device is a modbus master and for holding registers and coils since discrete inputs and input registers can not be modified by definition).
TE kann ja mal die beiden Attribute setzen und schauen, ob das seine Erwartungen erfüllt.
funktioniert nicht ganz da jetzt beim dummy die zahl gesetzt wird.
das nimmt aber der RS485_BWWP nicht an.
Am liebsten würde ich den dummy raus nehmen wenn ich noch im RS485_BWWP ein dropdown Menü hätte.
Geht denn sowas ?
Zitat von: fz55 am 09 März 2025, 11:46:26durch "attr RS485_BWWP obj-h12-set 1" wird in FHEM ein Feld zum Setzen des Wertes (in Verbindung mit -map als DropDown) eingeblendet.
ahh stimmt, wieder was gelernt :) Cool ist auch das man gar kein setreading mehr brauch da das dann alles als reines set Kommando geht.
Zitat von: Mellowback am 09 März 2025, 12:17:25im RS485_BWWP ein dropdown Menü hätte.
Geht denn sowas ?
wo machen wie es fz55 geschrieben hat und zusätzlich attr webcmd auf deinen h12 Register-Reading Namen setzen !
sollte das webcmd so aussehen ?
attr RS485_BWWP obj-h12-webcmd uzsuDropDown ,0:Off, 1:Only HP, 2:Only EL, 3:HP + EL, 4:Boiler, 5:HP + Boiler
nein , nein
Zitat von: Wzut am 09 März 2025, 13:10:15attr webcmd auf deinen h12 Register-Reading Namen setzen !
webcmd ist ein FHEMWEB Attribut , schau dir doch bitte die Attribute DropDown Liste an.
Und ohne den dummy wird es wohl auch nichts mit dem uzsu Style und du wirst mit den FHEMWEB Bordmitteln Designs zufrieden sein müssen.
attr RS485_BWWP webcmd H_pump
nach wie vor alles ungetestet da bei mir zwar viel ausgelesen wird aber kein einziges Register beschrieben.
passt, so funktioniert es.
Was mir jetzt aufgefallen ist, das er im "stateFormat" bei der Temperatur Beispiel bei 50.5°C folgendes ausgibt: 50.WP_elektrisch, °C
Wahrscheinlich wegen dem eventMap 0:aus, 1:WP, 2:elektrisch, 3:WP_elektrisch, 4:OelHeizung, 5:WP_OelHeizung
habe jetzt mal eventMap gelöscht.
des Weiteren möchte ich gerne auf der Adresse 16 noch den aktuellen Status auslesen, allerdings steht da beim Hersteller Binar als Unit drin mit dem Hinweis: Status (Für die Übersetzung von Datenbits ist es erforderlich, dass externe Geräte über diese Funktionsoption verfügen.)
Dein stateFormat bzw. deine komische Anzeige kann ich überhaupt nicht nachvollziehen, es wäre sinnvoll wenn du einfach mal ein richtiges list bzw. copy for forum.fhem.de zeigen würdest, sonst ist das alles nur Kaffeesatz Leserei.
Definiere doch einfach das i16 Register und schau was da ankommt. Allerdings sagt deine Hersteller Doku ja nichts darüber aus was die einzelen Bits dann für eine Bedeutung haben. IMHO ist der dann gezeigte Wert recht sinnlos. (genau wie das übernächste i18 Register)
alles gut er hat die 4 deswegen ersetzt da diese Status hinterlegt war. das habe ich einfach umbenannt und gut war es. :)
Hi,
könntest Du deine aktuelle Definition mal komplett teilen? Das würde dem ein- oder anderen evtl. etwas Tipperei ersparen ;D
Viele Grüße,
Oli
Anbei das List
Internals:
DEF 1 60 192.168.2.191:5000 RTU
DeviceName 192.168.2.191:5000
EXPECT idle
FD 105
FUUID 67ca1b1f-f33f-2b59-7fe6-a24fec921c54071f
IODev RS485_BWWP
Interval 60
LASTOPEN 1745024443.10369
LeadingZeros 1
MODBUSID 1
MODE master
MODULEVERSION Modbus 4.5.6 - 7.11.2023
NAME RS485_BWWP
NOTIFYDEV global
NR 946
NTFY_ORDER 50-RS485_BWWP
PARTIAL
PROTOCOL RTU
STATE Temperatur_Speicher: 36.2 °C
TCPConn 1
TYPE ModbusAttr
devioLoglevel 3
devioNoSTATE 1
eventCount 2665
nextOpenDelay 60
DICACHE:
4:
UNPACK
EXPRS:
EXTRAS:
FNAMES:
PICACHE:
i10:
bswapRegs
decode
encode
expr
format
ignoreExpr
map 0:Off, 1:On
mapDefault
revRegs
rmapDefault
i11:
bswapRegs
decode
encode
expr
format
ignoreExpr
map 0:Off, 1:On
mapDefault
revRegs
rmapDefault
i16:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
i4:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
i5:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
i7:
bswapRegs
decode
encode
expr
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
i8:
bswapRegs
decode
encode
expr $val/10
format
ignoreExpr
map
mapDefault
revRegs
rmapDefault
i9:
bswapRegs
decode
encode
expr
format
ignoreExpr
map 0:Off, 1:On
mapDefault
revRegs
rmapDefault
QUEUE:
READ:
BUFFER
READINGS:
2025-04-18 12:23:09 H_pump OelHeizung
2025-04-19 08:37:01 Status 8192
2025-04-19 08:37:00 StatusHeizstab Off
2025-04-19 08:37:01 StatusKessel Off
2025-04-19 08:36:57 StatusWP Off
2025-04-19 08:36:57 T2 4086
2025-04-19 08:36:57 Temperatur 223
2025-04-19 08:36:57 TemperaturIST 36.2
2025-04-19 08:36:57 TemperaturSOLL 1
2025-04-19 03:00:59 state opened
REMEMBER:
lid 1
lname RS485_BWWP
lrecv 1745044621.15109
lsend 1745044621.13318
UPDATECACHE:
i10:
adr 10
len 1
objCombi i10
reading StatusHeizstab
span 1
type i
i11:
adr 11
len 1
objCombi i11
reading StatusKessel
span 1
type i
i16:
adr 16
len 1
objCombi i16
reading Status
span 1
type i
i4:
adr 4
len 1
objCombi i4
reading TemperaturSOLL
span 1
type i
i5:
adr 5
len 1
objCombi i5
reading T2
span 1
type i
i7:
adr 7
len 1
objCombi i7
reading Temperatur
span 1
type i
i8:
adr 8
len 1
objCombi i8
reading TemperaturIST
span 1
type i
i9:
adr 9
len 1
objCombi i9
reading StatusWP
span 1
type i
defptr:
RS485_BWWP 1
gotReadings:
Status 8192
lastRead:
i10 1745044620.91095
i11 1745044621.03211
i16 1745044621.15407
i4 1745044617.17513
i5 1745044617.34342
i7 1745044617.50833
i8 1745044617.63153
i9 1745044617.81496
Attributes:
dev-i-defPoll 1
enableControlSet 1
group 1.Technik
obj-h00001-reading scan-h00001
obj-h00002-reading scan-h00002
obj-h00003-reading scan-h00003
obj-h00004-reading scan-h00004
obj-h00005-reading scan-h00005
obj-h00006-reading scan-h00006
obj-h00007-reading scan-h00007
obj-h00008-reading scan-h00008
obj-h00009-reading scan-h00009
obj-h00010-reading scan-h00010
obj-h00011-reading scan-h00011
obj-h00012-reading scan-h00012
obj-h00013-reading scan-h00013
obj-h00014-reading scan-h00014
obj-h00015-reading scan-h00015
obj-h00016-reading scan-h00016
obj-h00017-reading scan-h00017
obj-h00018-reading scan-h00018
obj-h00019-reading scan-h00019
obj-h00020-reading scan-h00020
obj-h00021-reading scan-h00021
obj-h00022-reading scan-h00022
obj-h00023-reading scan-h00023
obj-h00024-reading scan-h00024
obj-h00025-reading scan-h00025
obj-h00026-reading scan-h00026
obj-h00027-reading scan-h00027
obj-h00028-reading scan-h00028
obj-h00029-reading scan-h00029
obj-h00030-reading scan-h00030
obj-h00031-reading scan-h00031
obj-h00032-reading scan-h00032
obj-h00033-reading scan-h00033
obj-h00034-reading scan-h00034
obj-h00035-reading scan-h00035
obj-h00036-reading scan-h00036
obj-h00037-reading scan-h00037
obj-h00038-reading scan-h00038
obj-h00039-reading scan-h00039
obj-h00040-reading scan-h00040
obj-h00041-reading scan-h00041
obj-h00042-reading scan-h00042
obj-h00043-reading scan-h00043
obj-h00044-reading scan-h00044
obj-h00045-reading scan-h00045
obj-h00046-reading scan-h00046
obj-h00047-reading scan-h00047
obj-h00048-reading scan-h00048
obj-h00049-reading scan-h00049
obj-h00050-reading scan-h00050
obj-h00051-reading scan-h00051
obj-h00052-reading scan-h00052
obj-h00053-reading scan-h00053
obj-h00054-reading scan-h00054
obj-h00055-reading scan-h00055
obj-h00056-reading scan-h00056
obj-h00057-reading scan-h00057
obj-h00058-reading scan-h00058
obj-h00059-reading scan-h00059
obj-h00060-reading scan-h00060
obj-h00061-reading scan-h00061
obj-h00062-reading scan-h00062
obj-h00063-reading scan-h00063
obj-h00064-reading scan-h00064
obj-h00065-reading scan-h00065
obj-h00066-reading scan-h00066
obj-h00067-reading scan-h00067
obj-h00068-reading scan-h00068
obj-h00069-reading scan-h00069
obj-h00070-reading scan-h00070
obj-h00071-reading scan-h00071
obj-h00072-reading scan-h00072
obj-h00073-reading scan-h00073
obj-h00074-reading scan-h00074
obj-h00075-reading scan-h00075
obj-h00076-reading scan-h00076
obj-h00077-reading scan-h00077
obj-h00078-reading scan-h00078
obj-h00079-reading scan-h00079
obj-h00080-reading scan-h00080
obj-h00081-reading scan-h00081
obj-h00082-reading scan-h00082
obj-h00083-reading scan-h00083
obj-h00084-reading scan-h00084
obj-h00085-reading scan-h00085
obj-h00086-reading scan-h00086
obj-h00087-reading scan-h00087
obj-h00088-reading scan-h00088
obj-h00089-reading scan-h00089
obj-h00090-reading scan-h00090
obj-h00091-reading scan-h00091
obj-h00092-reading scan-h00092
obj-h00093-reading scan-h00093
obj-h00094-reading scan-h00094
obj-h00095-reading scan-h00095
obj-h00096-reading scan-h00096
obj-h00097-reading scan-h00097
obj-h00098-reading scan-h00098
obj-h00099-reading scan-h00099
obj-h00100-reading scan-h00100
obj-h00101-reading scan-h00101
obj-h00102-reading scan-h00102
obj-h00103-reading scan-h00103
obj-h00104-reading scan-h00104
obj-h00105-reading scan-h00105
obj-h00106-reading scan-h00106
obj-h00107-reading scan-h00107
obj-h00108-reading scan-h00108
obj-h00109-reading scan-h00109
obj-h00110-reading scan-h00110
obj-h00111-reading scan-h00111
obj-h00112-reading scan-h00112
obj-h00113-reading scan-h00113
obj-h00114-reading scan-h00114
obj-h00115-reading scan-h00115
obj-h00116-reading scan-h00116
obj-h00117-reading scan-h00117
obj-h00118-reading scan-h00118
obj-h00119-reading scan-h00119
obj-h12-map 0:aus, 1:WP, 2:elektrisch, 3:WP_elektrisch, 4:OelHeizung, 5:WP_OelHeizung
obj-h12-reading H_pump
obj-h12-set 1
obj-h17-map 0:Off, 1:OnlyHP, 2:OnlyEL, 3:HP_EL
obj-h17-reading Solacel
obj-h17-set 1
obj-h22-map 0:Off, 1:On
obj-h22-reading Boost
obj-h22-set 1
obj-i10-map 0:Off, 1:On
obj-i10-reading StatusHeizstab
obj-i10-unpack s>
obj-i11-map 0:Off, 1:On
obj-i11-reading StatusKessel
obj-i11-unpack s>
obj-i16-reading Status
obj-i16-unpack s>
obj-i4-reading TemperaturSOLL
obj-i4-unpack s>
obj-i5-reading T2
obj-i5-unpack s>
obj-i7-reading Temperatur
obj-i7-unpack s>
obj-i8-expr $val/10
obj-i8-reading TemperaturIST
obj-i8-unpack s>
obj-i9-map 0:Off, 1:On
obj-i9-reading StatusWP
obj-i9-unpack s>
room Alexa,Homekit,Stromverbrauch,Technikraum
stateFormat Temperatur_Speicher: TemperaturIST °C
webCmd H_pump:Solacel:Boost
webCmdLabel Betriebsart:PVModus:Boost