Mottbus Notify

Begonnen von rotschmid, 26 Februar 2024, 09:25:48

Vorheriges Thema - Nächstes Thema

rotschmid

Hallo
habe einen B+G Zähler DS 100-00B den ich mit Modbus auslese.Den Wert der momentane Leistung möchte ich mittels Notify in ein Datenwort einer Siemens SPS S5 95 u übertragen. Das Notify hat aber mit dem Wert ein Problem vieleicht hat jemand eine ide wie ich das Notify ändern muss.[code]define PWP ModbusAttr 1 5
attr PWP IODev DS100
attr PWP obj-i1057-poll 1
attr PWP obj-i1057-reading Momentane_Leistung
attr PWP obj-i1057-unpack s>
attr PWP room Treppenhaus
#   DEF        1 5
#   FUUID      65d8902a-f33f-5434-ccc9-e2c23fcad2955e06
#   IODev      DS100
#   Interval   5
#   MODBUSID   1
#   MODE       master
#   MODULEVERSION Modbus 4.5.6 - 7.11.2023
#   NAME       PWP
#   NOTIFYDEV  global
#   NR         497
#   NTFY_ORDER 50-PWP
#   PROTOCOL   RTU
#   STATE      opened
#   TYPE       ModbusAttr
#   devioNoSTATE 1
#   eventCount 8131
#   DICACHE:
#     2:
#       UNPACK     
#       EXPRS:
#       EXTRAS:
#       FNAMES:
#     4:
#       UNPACK     
#       EXPRS:
#       EXTRAS:
#       FNAMES:
#   FRAME:
#   PICACHE:
#     i1057:
#       bswapRegs 
#       decode     
#       encode     
#       expr       
#       format     
#       ignoreExpr
#       map       
#       mapDefault
#       revRegs   
#       rmapDefault
#   READ:
#   READINGS:
#     2024-02-25 20:44:36   IODev           DS100
#     2024-02-26 09:18:29   Momentane_Leistung 148
#     2024-02-25 20:44:37   state           opened
#   REMEMBER:
#     lrecv      1708935509.89247
#     lsend      1708935508.85384
#   UPDATECACHE:
#     i1057:
#       adr        1057
#       len        1
#       objCombi   i1057
#       reading    Momentane_Leistung
#       span       1
#       type       i
#   gotReadings:
#     Momentane_Leistung 148
#   lastRead:
#     i1057      1708935509.89429
#
setstate PWP opened
setstate PWP 2024-02-25 20:44:36 IODev DS100
setstate PWP 2024-02-26 09:18:29 Momentane_Leistung 148
setstate PWP 2024-02-25 20:44:37 state opened


[code]define PWP_notify_1 notify PWP Momentane_Leistung:.* set Zaehler_EVU_zur_SPS $EVENT
attr PWP_notify_1 room Treppenhaus
#   DEF        PWP Momentane_Leistung:.* set Zaehler_EVU_zur_SPS $EVENT
#   FUUID      65d88daa-f33f-5434-9b86-fd810898352a8e78
#   NAME       PWP_notify_1
#   NOTIFYDEV  PWP
#   NR         496
#   NTFY_ORDER 50-PWP_notify_1
#   REGEXP     PWP
#   STATE      2024-02-26 09:22:59
#   TRIGGERTIME 1708935779.46731
#   TYPE       notify
#   eventCount 1
#   READINGS:
#     2024-02-25 20:53:04   state           active
#     2024-02-26 09:22:59   triggeredByDev  PWP
#     2024-02-26 09:22:59   triggeredByEvent Momentane_Leistung: 130
#
setstate PWP_notify_1 2024-02-26 09:22:59
setstate PWP_notify_1 2024-02-25 20:53:04 state active
setstate PWP_notify_1 2024-02-26 09:22:59 triggeredByDev PWP
setstate PWP_notify_1 2024-02-26 09:22:59 triggeredByEvent Momentane_Leistung: 130

define Zaehler_EVU_zur_SPS S7_AWrite db 26 200 s16
attr Zaehler_EVU_zur_SPS IODev s5test
attr Zaehler_EVU_zur_SPS room Treppenhaus
#   ADDRESS    200
#   AREA       db
#   DATATYPE   s16
#   DB         26
#   DEF        db 26 200 s16
#   FUUID      65b419b8-f33f-5434-7f79-6eee26b636f66f36
#   IODev      s5test
#   LASTInputDev s5test
#   LENGTH     2
#   MSGCNT     22387
#   NAME       Zaehler_EVU_zur_SPS
#   NR         493
#   STATE      58
#   TYPE       S7_AWrite
#   eventCount 22387
#   s5test_MSGCNT 22387
#   s5test_TIME 2024-02-26 09:23:53
#   READINGS:
#     2024-02-25 20:44:36   IODev           s5test
#     2024-02-26 09:23:53   state           58
#
setstate Zaehler_EVU_zur_SPS 58
setstate Zaehler_EVU_zur_SPS 2024-02-25 20:44:36 IODev s5test
setstate Zaehler_EVU_zur_SPS 2024-02-26 09:23:53 state 58

[/code]

Beta-User

Mach mal einen Doppelpunkt statt des Leerzeichens zwischen Device und Reading.

Tipp: nutze künftig den Wizzard im Event-Monitor, um notify&Co. anzulegen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rotschmid

Hallo Doppelpunkt zwischen  PWP:Momentane_Leistung:.* set Zaehler_EVU_zur_SPS $EVENT bringt keine Änderung

Fehlermeldung  2024.02.26 10:56:56 3: PWP_notify_1 return value: Zaehler_EVU_zur_SPS You have to enter a numeric value: -32768 - 32767

 Event-Monitor   2024-02-26 10:56:56 ModbusAttr PWP Momentane_Leistung: 168

Beta-User

Zitat von: rotschmid am 26 Februar 2024, 11:00:35Hallo Doppelpunkt zwischen  PWP:Momentane_Leistung:.* set Zaehler_EVU_zur_SPS $EVENT bringt keine Änderung

Fehlermeldung  2024.02.26 10:56:56 3: PWP_notify_1 return value: Zaehler_EVU_zur_SPS You have to enter a numeric value: -32768 - 32767

 Event-Monitor  2024-02-26 10:56:56 ModbusAttr PWP Momentane_Leistung: 168
a) es bringt eine Änderung => siehe Fehlermeldung
b) $EVENT ist zu lang, da ist ja auch der Reading-Name mit drin. Du brauchst aber nur den hinteren Teil => versuch's mal mit $EVTPART1 (oder $EVTPART2, weiß ich aus dem Kopf auch nicht)...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rotschmid

Hallo Beta-User Funktioniert jetzt. Notify sieht jetzt so aus

PWP:.* set Zaehler_EVU_zur_SPS $EVTPART1

vielen Dank und einen schönen Tag
Karl-Heinz

Beta-User

Selbst, wenn das wirklich immer fehlerfrei funktionieren sollte, solltest du m.E. den trigger besser einschränken auf das Reading, das du weitergegeben willst.

Nur zur Sicherheit und als Übung für "exaktes Arbeiten". Schadet nicht...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files