Victron Venus GX über MQTT auslesen

Begonnen von andremar6918, 14 Oktober 2022, 16:29:11

Vorheriges Thema - Nächstes Thema

andremar6918

Hallo zusammen,
ich möchte Werte aus einem Venus OS (SW von Victron Energy auf einem Raspi zur Steuerung eines Multiplus-Inverters) mittels MQTT auslesen und in FHEM weiterverarbeiten.
Auf dem Venus läuft ein MQTT-Server. Dieser published auf das Kommando

mosquitto_pub -h 192.168.xxx.xxx -m '' -t 'R/xxxx/system/0/Serial'

alle vorhandenen Werte. (xxxx ist die System ID des Venus).
In FHEM habe ich einen MQTT2_CLIENT erstellt, welcher mit dem Venus-MQTT verbunden ist. Außerdem ein MQTT2_DEVICE, welches die Werte aufnehmen soll.
Nach einem "autocreate" entsteht in dem MQTT2_DEVICE eine Reading-List mit ca. 600 Zeilen.
z.B.

Mosquitto_Venus:N/xxxx/battery/287/Dc/0/Power:.* { json2nameValue($EVENT) }

Wie kann ich jetzt aus dieser Liste die für mich interessanten Readings auswählen?
Manche werden bereits als Readings dargestellt, andere nicht. Ich erkenne aber keinen Zusammenhang darin.
Kann hier jemand einen Tipp geben?

Beta-User

Puh, ich glaube, mit "einem" Tipp kommt man da nicht allzu weit...

Wieviele Readings erzeugen denn die 600 Zeilen?

Vielleicht erst mal zur Interpretation: Wenn MQTT2_DEVICE per autocreate json2nameValue() für die Auswertung vorschlägt, kam da was an payload, das mit { begonnen und mit } geendet hat. Manche "seltsame" Gegenstellen senden leere Werte als "{}". Sowas gibt dann auch keine Readings.

Im Moment habe ich auch noch keine durchschlagende Idee, wie da die Topic-Struktur gebildet wird, insbesondere nicht, was sich hinter der "287" in deinem Beispiel verbergen könnte.

Ich würde vermutlich erst mal versuchen, die grade mit Daten belegten Topics rauszufischen. Vielleicht kann man sich aus der Teilmenge iVm. den Daten (Payload) dann ein besseres Bild machen, wie das zu interpretieren ist? Dazu könnte man einen Mittschnitt aller Topics+Payload per mosquitto_sub in eine Datei pipen und dann erst mal rauswerfen, was nur "{}" ist.
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

sledge

#2
Nun, da gibt es in der Tat keine einfache Lösung - Venus OS listet via MQTT einfach alle Parameter, die es auch auf dem DBUS verarbeitet - und das sind eine Menge.

Das "list" meines Venus OS devices erstreckt sich über einige Bildschirmseiten - und die meisten Parameter davon benötige ich nicht, werden aber einfach mitgeliefert, zB ob ein Generator oder Tank-Level-Sensoren angeschlossen sind.

Hier mal spaßeshalb komplett aufgelistet:


Internals:
   CID        victron_mqtt
   DEF        victron_mqtt
   FUUID      630dc7a1-f33f-6eb5-6e8e-b32389770e507ced
   IODev      victron_mqtt
   LASTInputDev victron_mqtt
   MSGCNT     4139765
   NAME       MQTT2_victron_mqtt
   NR         383
   STATE      ???
   TYPE       MQTT2_DEVICE
   eventCount 3380343
   victron_mqtt_MSGCNT 4139765
   victron_mqtt_TIME 2022-10-14 18:19:26
   READINGS:
     2022-10-14 18:16:30   ACIn1_L1_value 
     2022-10-14 18:16:30   ACIn1_L2_value 
     2022-10-14 18:16:30   ACIn1_L3_value 
     2022-10-14 18:16:30   ACIn2_L1_value 
     2022-10-14 18:16:30   ACIn2_L2_value 
     2022-10-14 18:16:30   ACIn2_L3_value 
     2022-10-14 18:16:30   ACOut_L1_value 
     2022-10-14 18:16:30   ACOut_L2_value 
     2022-10-14 18:16:30   ACOut_L3_value 
     2022-10-14 18:16:31   Absorption_value 0
     2022-10-14 18:16:31   AcIn1ToAcOut_value 0.8009955286979675
     2022-10-14 18:16:31   AcIn1ToInverter_value 135.31362915039062
     2022-10-14 18:16:31   AcIn2ToAcOut_value 0.0
     2022-10-14 18:16:31   AcIn2ToInverter_value 0.0
     2022-10-14 18:16:31   AcInput1_value  1
     2022-10-14 18:16:31   AcInput2_value  0
     2022-10-14 18:16:31   AcOutToAcIn1_value 0.20024888217449188
     2022-10-14 18:16:31   AcOutToAcIn2_value 0.0
     2022-10-14 18:16:29   AcPowerSetPoint_value 0.0
     2022-10-14 18:19:24   AcPowerSetpoint_value -666
     2022-10-14 18:16:30   AccessLevel_value 2
     2022-10-14 18:16:30   AccessPoint_value 1
     2022-10-14 18:16:29   ActionNeeded_value
     2022-10-14 18:16:30   ActiveBatteryService_value com.victronenergy.battery/1
     2022-10-14 18:16:30   ActiveInput_value 0
     2022-10-14 18:16:30   ActiveNetworkConnection_value 1
     2022-10-14 18:16:29   AlarmSetting_value 0
     2022-10-14 18:16:31   AllowToChargeRate_value 0
     2022-10-14 18:16:31   AllowToCharge_value 1
     2022-10-14 18:16:31   AllowToDischarge_value 1
     2022-10-14 18:16:31   AssistantId_value 5
     2022-10-14 18:16:31   Assistants_value_1 126
     2022-10-14 18:16:31   Assistants_value_10 0
     2022-10-14 18:16:31   Assistants_value_11 0
     2022-10-14 18:16:31   Assistants_value_12 0
     2022-10-14 18:16:31   Assistants_value_13 0
     2022-10-14 18:16:31   Assistants_value_14 0
     2022-10-14 18:16:31   Assistants_value_15 0
     2022-10-14 18:16:31   Assistants_value_16 0
     2022-10-14 18:16:31   Assistants_value_17 0
     2022-10-14 18:16:31   Assistants_value_18 0
     2022-10-14 18:16:31   Assistants_value_19 0
     2022-10-14 18:16:31   Assistants_value_2 1
     2022-10-14 18:16:31   Assistants_value_20 0
     2022-10-14 18:16:31   Assistants_value_21 0
     2022-10-14 18:16:31   Assistants_value_22 0
     2022-10-14 18:16:31   Assistants_value_23 0
     2022-10-14 18:16:31   Assistants_value_24 0
     2022-10-14 18:16:31   Assistants_value_25 0
     2022-10-14 18:16:31   Assistants_value_26 0
     2022-10-14 18:16:31   Assistants_value_27 0
     2022-10-14 18:16:31   Assistants_value_28 0
     2022-10-14 18:16:31   Assistants_value_29 0
     2022-10-14 18:16:31   Assistants_value_3 0
     2022-10-14 18:16:31   Assistants_value_30 0
     2022-10-14 18:16:31   Assistants_value_31 0
     2022-10-14 18:16:31   Assistants_value_32 0
     2022-10-14 18:16:31   Assistants_value_33 0
     2022-10-14 18:16:31   Assistants_value_34 0
     2022-10-14 18:16:31   Assistants_value_35 0
     2022-10-14 18:16:31   Assistants_value_36 0
     2022-10-14 18:16:31   Assistants_value_37 0
     2022-10-14 18:16:31   Assistants_value_38 0
     2022-10-14 18:16:31   Assistants_value_39 0
     2022-10-14 18:16:31   Assistants_value_4 0
     2022-10-14 18:16:31   Assistants_value_40 0
     2022-10-14 18:16:31   Assistants_value_41 0
     2022-10-14 18:16:31   Assistants_value_42 0
     2022-10-14 18:16:31   Assistants_value_43 0
     2022-10-14 18:16:31   Assistants_value_44 0
     2022-10-14 18:16:31   Assistants_value_45 0
     2022-10-14 18:16:31   Assistants_value_46 0
     2022-10-14 18:16:31   Assistants_value_47 0
     2022-10-14 18:16:31   Assistants_value_48 0
     2022-10-14 18:16:31   Assistants_value_49 0
     2022-10-14 18:16:31   Assistants_value_5 0
     2022-10-14 18:16:31   Assistants_value_50 0
     2022-10-14 18:16:31   Assistants_value_51 0
     2022-10-14 18:16:31   Assistants_value_52 0
     2022-10-14 18:16:31   Assistants_value_53 0
     2022-10-14 18:16:31   Assistants_value_54 0
     2022-10-14 18:16:31   Assistants_value_55 0
     2022-10-14 18:16:31   Assistants_value_56 0
     2022-10-14 18:16:31   Assistants_value_6 0
     2022-10-14 18:16:31   Assistants_value_7 0
     2022-10-14 18:16:31   Assistants_value_8 0
     2022-10-14 18:16:31   Assistants_value_9 0
     2022-10-14 18:16:29   Audible_value   1
     2022-10-14 18:16:30   AutoBrightness_value 1
     2022-10-14 18:16:29   AutoDetect_value 0
     2022-10-14 18:16:30   AutoInstall_value 0
     2022-10-14 18:16:30   AutoScan_value  1
     2022-10-14 18:16:30   AutoSelectedBatteryMeasurement_value com_victronenergy_battery_1/Dc/0
     2022-10-14 18:16:30   AutoSelectedTemperatureService_value SerialBattery (LLT/JBD) v0.12 on Serial /dev/ttyACM0
     2022-10-14 18:16:30   AutoUpdate_value 2
     2022-10-14 18:16:30   AvailableBatteries_value {"com.victronenergy.battery/1": {"name": "SerialBattery (LLT/JBD) v0.12", "channel": null, "type": "battery"}, "com.victronenergy.vebus/288": {"name": "MultiPlus-II 48/5000/70-50", "channel": null, "type": "vebus"}}
     2022-10-14 18:16:30   AvailableBatteryMeasurements_value_com_victronenergy_battery_1/Dc/0 SerialBattery (LLT/JBD) v0.12 on Serial /dev/ttyACM0
     2022-10-14 18:16:30   AvailableBatteryMeasurements_value_com_victronenergy_vebus_288/Dc/0 MultiPlus-II 48/5000/70-50 on VE.Bus
     2022-10-14 18:16:30   AvailableBatteryMeasurements_value_default Automatic
     2022-10-14 18:16:30   AvailableBatteryMeasurements_value_nobattery No battery monitor
     2022-10-14 18:16:30   AvailableBatteryServices_value {"default": "Automatic", "nobattery": "No battery monitor", "com.victronenergy.vebus/288": "MultiPlus-II 48/5000/70-50 on VE.Bus", "com.victronenergy.battery/1": "SerialBattery (LLT/JBD) v0.12 on Serial /dev/ttyACM0"}
     2022-10-14 18:16:30   AvailableTemperatureServices_value_com.victronenergy.battery/1/Dc/0/Temperature SerialBattery (LLT/JBD) v0.12 on Serial /dev/ttyACM0
     2022-10-14 18:16:30   AvailableTemperatureServices_value_com.victronenergy.vebus/288/Dc/0/Temperature MultiPlus-II 48/5000/70-50 on VE.Bus
     2022-10-14 18:16:30   AvailableTemperatureServices_value_default Automatic
     2022-10-14 18:16:30   AvailableTemperatureServices_value_nosensor No sensor
     2022-10-14 18:16:29   BackupMediaAvailable_value 0
     2022-10-14 18:16:29   BackupProgress_value 0
     2022-10-14 18:16:29   BackupSettingsFileExist_value 0
     2022-10-14 18:16:28   Balancing_value 0
     2022-10-14 18:19:24   Batteries_value_1_active_battery_service true
     2022-10-14 18:19:24   Batteries_value_1_current -15.62
     2022-10-14 18:19:24   Batteries_value_1_id com.victronenergy.battery.ttyACM0
     2022-10-14 18:19:24   Batteries_value_1_instance 1
     2022-10-14 18:19:24   Batteries_value_1_name JBD BMS
     2022-10-14 18:19:24   Batteries_value_1_power -827.08
     2022-10-14 18:19:24   Batteries_value_1_soc 95
     2022-10-14 18:19:24   Batteries_value_1_state 2
     2022-10-14 18:19:24   Batteries_value_1_temperature 24.95
     2022-10-14 18:19:24   Batteries_value_1_voltage 52.95
     2022-10-14 18:19:24   Batteries_value_2_active_battery_service false
     2022-10-14 18:19:24   Batteries_value_2_current -16.100000381469727
     2022-10-14 18:19:24   Batteries_value_2_id com.victronenergy.vebus.ttyUSB0
     2022-10-14 18:19:24   Batteries_value_2_instance 288
     2022-10-14 18:19:24   Batteries_value_2_name MultiPlus-II 48/5000/70-50
     2022-10-14 18:19:24   Batteries_value_2_power -971
     2022-10-14 18:19:24   Batteries_value_2_soc 95.0
     2022-10-14 18:19:24   Batteries_value_2_state 2
     2022-10-14 18:19:24   Batteries_value_2_temperature 24.5
     2022-10-14 18:19:24   Batteries_value_2_voltage 52.900001525878906
     2022-10-14 18:16:30   BatteryCurrentSense_value 0
     2022-10-14 18:16:30   BatteryLife_value 0
     2022-10-14 18:16:31   BatteryLowVoltage_value 46.400001525878906
     2022-10-14 18:16:30   BatteryService_value com.victronenergy.battery.ttyACM0
     2022-10-14 18:16:30   BatteryVoltageSense_value 0
     2022-10-14 18:16:30   BleSensors_value 0
     2022-10-14 18:16:30   Bluetooth_value 1
     2022-10-14 18:16:31   BmsExpected_value 0
     2022-10-14 18:16:30   BmsParameters_value 1
     2022-10-14 18:16:31   BmsType_value   0
     2022-10-14 18:16:31   BolFrame_value  1
     2022-10-14 18:16:31   BolUBatAndTBatSense_value 1
     2022-10-14 18:16:30   Bol_value       1
     2022-10-14 18:16:30   Brightness_value 100
     2022-10-14 18:16:31   Bulk_value      1
     2022-10-14 18:16:31   BusFreeMode_value 1
     2022-10-14 18:19:24   Capacity_value  266.24
     2022-10-14 18:19:24   Cell10_value    3.31
     2022-10-14 18:19:24   Cell11_value    3.309
     2022-10-14 18:19:24   Cell12_value    3.308
     2022-10-14 18:19:24   Cell13_value    3.31
     2022-10-14 18:19:24   Cell14_value    3.31
     2022-10-14 18:19:24   Cell15_value    3.312
     2022-10-14 18:19:22   Cell16_value    3.312
     2022-10-14 18:19:24   Cell1_value     3.311
     2022-10-14 18:19:24   Cell2_value     3.307
     2022-10-14 18:19:24   Cell3_value     3.312
     2022-10-14 18:19:24   Cell4_value     3.311
     2022-10-14 18:19:24   Cell5_value     3.311
     2022-10-14 18:19:24   Cell6_value     3.311
     2022-10-14 18:19:24   Cell7_value     3.313
     2022-10-14 18:19:24   Cell8_value     3.31
     2022-10-14 18:19:24   Cell9_value     3.31
     2022-10-14 18:16:28   ChargeCycles_value 22
     2022-10-14 18:16:31   ChargeDisabledDueToLowTemp_value 0
     2022-10-14 18:16:30   ChargeDisabled_value 0
     2022-10-14 18:16:31   ChargeIsDisabled_value 0
     2022-10-14 18:16:31   ChargeVoltage_value 56.400001525878906
     2022-10-14 18:16:29   ClassAndVrmInstance_value battery:1
     2022-10-14 18:16:31   Code_value      8390661
     2022-10-14 18:16:31   CommandWriteViaId_value 1
     2022-10-14 18:16:31   Connected_value 1
     2022-10-14 18:16:31   Connecting_value 0
     2022-09-25 14:32:49   ConnectionErrorMessage_value HTTPSConnectionPool(host='ccgxlogging.victronenergy.com', port=443): Read timed out. (read timeout=30)
     2022-10-14 18:16:29   ConnectionError_value 0
     2022-10-14 18:16:31   Connection_value VE.Bus
     2022-10-14 18:16:30   Console_value   0
     2022-10-14 18:19:24   ConsumedAmphours_value 13.759999999999991
     2022-10-14 18:16:31   Count_value     9
     2022-10-14 18:16:30   CurrentLimitIsAdjustable_value 1
     2022-10-14 18:16:30   CurrentLimit_value 50.0
     2022-10-14 18:16:31   CurrentLimitedDueToHighTemp_value 0
     2022-10-14 18:16:30   CurrentOffset_value 0
     2022-10-14 18:19:24   Current_value   0.84
     2022-10-14 18:16:31   CustomName_value Victron MP II / L1
     2022-10-14 18:16:29   DataManagerVersion_value 3.23.6-1
     2022-10-14 18:16:29   Day_value       -7
     2022-10-14 18:16:29   DefaultCount_value 8
     2022-10-14 18:16:30   DefaultOverview_value OverviewGridParallel
     2022-10-14 18:16:31   Delay_value     0
     2022-10-14 18:16:30   DemoMode_value  0
     2022-10-14 18:16:31   DeviceInstance_value 288
     2022-10-14 18:16:30   Devices_value   
     2022-10-14 18:19:24   Diff_value      0.006000000000000227
     2022-10-14 18:16:31   DisableCharge_value 0
     2022-10-14 18:16:31   DisableFeedIn_value 0
     2022-10-14 18:16:31   Disable_value   0
     2022-10-14 18:16:30   DischargeDisabled_value 0
     2022-10-14 18:16:29   DischargedTime_value 1665214393
     2022-10-14 18:16:30   DisplayOff_value 600
     2022-10-14 18:16:31   DoNotFeedInOvervoltage_value 0
     2022-10-14 18:16:29   Duration_value  0
     2022-10-14 18:16:30   Dvcc_value      1
     2022-10-14 18:16:30   EffectiveChargeVoltage_value 56.400001525878906
     2022-10-14 18:16:30   Enabled_value   1
     2022-10-14 18:16:31   ErrorFlags_value 8
     2022-10-14 18:16:29   ErrorState_value 0
     2022-10-14 18:16:31   Error_value     0
     2022-10-14 18:16:30   ExtShutdownPresent_value 1
     2022-10-14 18:16:30   ExternalStorageDir_value
     2022-10-14 18:16:30   ExternalSwitch_value 0
     2022-10-14 18:16:31   ExtraBatteryCurrent_value 0.0
     2022-10-14 18:19:24   F_value         50.07692337036133
     2022-10-14 18:16:30   FirmwareBuild_value 20220715122828
     2022-10-14 18:16:30   FirmwareInsufficient_value 0
     2022-10-14 18:16:31   FirmwareSubVersion_value 0
     2022-10-14 18:16:31   FirmwareVersion_value 1175
     2022-10-14 18:16:30   FischerPandaAutoStartStop_value 0
     2022-10-14 18:16:31   FixSolarOffsetTo100mV_value 1
     2022-10-14 18:16:29   Flags_value     0
     2022-10-14 18:16:31   Float_value     0
     2022-10-14 18:16:29   ForceCharge_value 0
     2022-10-14 18:16:30   Format_value    0
     2022-10-14 18:19:12   Forward_value   12979.773
     2022-10-14 18:16:29   FreeDiskSpace_value 21187411968
     2022-10-14 18:16:31   FrequencyVariationOccurred_value 0
     2022-10-14 18:16:29   FroniusDeviceType_value 122
     2022-10-14 18:16:30   Function_value  0
     2022-10-14 18:16:30   GitHubAutoDownload_value 0
     2022-10-14 18:16:30   GitHubBranch_value
     2022-10-14 18:16:29   GitHubUpdateStatus_value
     2022-10-14 18:16:30   GitHubUser_value
     2022-10-14 18:16:29   GitHubVersion_value v4.25
     2022-10-14 18:16:31   GridLost_value  1
     2022-10-14 18:16:29   GuiEditAction_value
     2022-10-14 18:16:29   GuiEditStatus_value
     2022-10-14 18:16:29   GuiRestartNeeded_value false
     2022-10-14 18:16:30   HardwareVersion_value 0
     2022-10-14 18:16:30   HasAcOutSystem_value 0
     2022-10-14 18:16:30   HasDcSystem_value 1
     2022-10-14 18:16:28   HighChargeCurrent_value 0
     2022-10-14 18:16:28   HighChargeTemperature_value 0
     2022-10-14 18:16:31   HighDcCurrent_value 0
     2022-10-14 18:16:29   HighDcRipple_value 1
     2022-10-14 18:16:31   HighDcVoltage_value 0
     2022-10-14 18:16:28   HighDischargeCurrent_value 0
     2022-10-14 18:16:31   HighTemperature_value 0
     2022-10-14 18:16:28   HighVoltage_value 0
     2022-10-14 18:16:30   HttpsEnabled_value 1
     2022-10-14 18:16:29   Hub4Mode_value  1
     2022-10-14 18:16:30   Hub_value       4
     2022-10-14 18:16:31   IBatSOCBroadcast_value 1
     2022-10-10 10:53:48   IODev           victron_mqtt
     2022-10-14 18:16:29   IPAddresses_value
     2022-10-14 18:19:24   I_value         0.009999999776482582
     2022-10-14 18:16:31   IgnoreAcIn1_value 0
     2022-10-14 18:16:29   Incompatible_value
     2022-10-14 18:16:30   InitialState_value 0
     2022-10-14 18:16:29   InstallStatus_value
     2022-10-14 18:16:28   InstalledCapacity_value 280.0
     2022-10-14 18:16:29   InstalledVersion_value v4.17
     2022-10-14 18:16:29   InvertAlarm_value 0
     2022-10-14 18:16:29   InvertTranslation_value 0
     2022-10-14 18:16:29   InverterIds_value I123_1166399,I111_1213739,I122_1214347
     2022-10-14 18:16:29   InverterOverload_value 1
     2022-10-14 18:19:24   InverterToAcIn1_value 104.89401245117188
     2022-10-14 18:16:31   InverterToAcIn2_value 0.0
     2022-10-14 18:16:31   InverterToAcOut_value 4.187022686004639
     2022-10-14 18:16:31   Inverter_value  1
     2022-10-14 18:16:30   IsActive_value  1
     2022-10-14 18:16:30   KnownIPAddresses_value 192.168.0.132
     2022-10-14 18:16:30   L1Energy_value  0.0
     2022-10-14 18:16:30   L2Energy_value  0.0
     2022-10-14 18:16:30   L3Energy_value  0.0
     2022-10-14 18:16:30   Language_value  en
     2022-10-14 18:16:29   Location_value  0
     2022-10-14 18:16:30   LockButtonState_value 0
     2022-10-14 18:16:30   LogInterval_value 60
     2022-10-14 18:16:30   LogLevel_value  2
     2022-10-14 18:16:30   Logmode_value   1
     2022-10-14 18:16:31   LowBattery_value 0
     2022-10-14 18:16:28   LowChargeTemperature_value 0
     2022-10-14 18:16:30   LowSoc_value    0
     2022-10-14 18:16:28   LowTemperature_value 0
     2022-10-14 18:16:28   LowVoltage_value 0
     2022-10-14 18:16:31   MainsPllLocked_value 1
     2022-10-14 18:16:31   Mains_value     2
     2022-10-14 18:19:18   MaxCellTemperature_value 26.599999999999966
     2022-10-14 18:19:24   MaxCellVoltage_value 3.313
     2022-10-14 18:16:31   MaxChargeCurrent_value 70.0
     2022-10-14 18:16:29   MaxChargePercentage_value 100.0
     2022-10-14 18:16:29   MaxChargePower_value -1.0
     2022-10-14 18:16:31   MaxChargeVoltage_value 56.0
     2022-10-14 18:16:31   MaxDischargeCurrent_value 70.0
     2022-10-14 18:16:29   MaxDischargePercentage_value 100.0
     2022-10-14 18:19:24   MaxDischargePower_value 3332.700096130371
     2022-10-14 18:16:31   MaxFeedInPower_value 32766
     2022-10-14 18:16:29   MaxPower_value  5000.0
     2022-10-14 18:19:24   MaxVoltageCellId_value C7
     2022-10-14 18:16:30   MeasurementType_value 0
     2022-10-14 18:16:29   MediaUpdateStatus_value
     2022-10-14 18:16:29   Message_value   ERROR "Error processing function code 3, unit id 100, start address 842, quantity 1, src 192.168.0.110: Error finding service with device type system at device instance 0"
     2022-10-14 18:19:22   MinCellTemperature_value 23.299999999999955
     2022-10-14 18:19:24   MinCellVoltage_value 3.307
     2022-10-14 18:19:20   MinVoltageCellId_value C2
     2022-10-14 18:16:29   MinimumSocLimit_value 10.0
     2022-10-14 18:16:30   MobileOverview_value 0
     2022-10-14 18:16:30   Modbus_value    1
     2022-10-14 18:16:31   ModeIsAdjustable_value 1
     2022-10-14 18:16:31   Mode_value      3
     2022-10-14 18:16:29   MountState_value 0
     2022-10-14 18:16:30   MqttLocalInsecure_value 1
     2022-10-14 18:16:30   MqttLocal_value 1
     2022-10-14 18:16:30   MqttN2k_value   0
     2022-10-14 18:16:30   MqttVrm_value   1
     2022-10-14 18:16:30   MultipleBatteries_value 0
     2022-10-14 18:16:29   Multiplier_value 0.001
     2022-10-14 18:16:30   Name_value     
     2022-10-14 18:16:31   NewPanelFrame_value 1
     2022-10-14 18:16:29   NoGridMeter_value 0
     2022-10-14 18:16:28   NrOfCellsPerBattery_value 16
     2022-10-14 18:16:28   NrOfModulesBlockingCharge_value 0
     2022-10-14 18:16:28   NrOfModulesBlockingDischarge_value 0
     2022-10-14 18:16:28   NrOfModulesOffline_value 0
     2022-10-14 18:16:28   NrOfModulesOnline_value 1
     2022-10-14 18:16:30   NumberOfAcInputs_value 1
     2022-10-14 18:16:31   NumberOfMultis_value 1
     2022-10-14 18:16:30   NumberOfPhases_value 1
     2022-10-14 18:16:31   OffsetAddedToVoltageSetpoint_value 1
     2022-10-14 17:13:34   OldestTimestamp_value 1665760412
     2022-10-14 18:16:31   OutToInverter_value 2.7852799892425537
     2022-10-14 18:16:31   Overload_value  0
     2022-10-14 18:16:29   OvervoltageFeedIn_value 1
     2022-10-14 18:19:24   P_value         23
     2022-10-14 18:16:30   PackageName_value new
     2022-10-14 18:16:29   PackageVersion_value v4.17
     2022-10-14 18:16:31   PcvPotmeterOnZero_value 0
     2022-10-14 18:16:30   PhaseCount_value 3
     2022-10-14 18:16:31   PhaseRotation_value 0
     2022-10-14 18:16:30   Phase_value     0
     2022-10-14 18:16:29   Platform_value  Raspberry Pi 2/3
     2022-10-14 18:16:30   Polarity_value  0
     2022-10-14 18:16:30   PortNumber_value 80
     2022-10-14 18:16:30   Position_value  0
     2022-10-14 18:16:29   PowerLimit_value 5000.0
     2022-10-14 18:16:30   PowerMeasurementType_value 4
     2022-10-14 18:16:31   PowerPackPreOverload_value 0
     2022-10-14 18:19:24   Power_value     136.41
     2022-10-14 18:16:29   PreventFeedback_value 0
     2022-10-14 18:16:31   ProcessName_value mk2-dbus
     2022-10-14 18:16:31   ProcessVersion_value 3.33
     2022-10-14 18:16:31   ProductId_value 9763
     2022-10-14 18:16:31   ProductName_value MultiPlus-II 48/5000/70-50
     2022-10-14 18:16:30   ProxyPort_value
     2022-10-14 18:16:30   Proxy_value     
     2022-10-14 18:16:30   PvInvertersProductIds_value_1 41282
     2022-10-14 18:16:29   PvPowerLimiterActive_value 0
     2022-10-14 18:16:31   Quirks_value    0
     2022-10-14 18:16:30   RamDiskMode_value 0
     2022-10-14 18:16:29   RebootNeeded_value false
     2022-10-14 18:16:31   RedetectSystem_value 0
     2022-10-14 18:16:30   ReleaseType_value 0
     2022-10-14 18:16:30   RemoteSupportIpAndPort_value 84.22.108.49;52939
     2022-10-14 18:16:30   RemoteSupport_value 1
     2022-10-14 18:16:31   Reset_value     0
     2022-10-14 18:19:18   Reverse_value   37361.335
     2022-10-14 18:16:31   Ripple_value    0
     2022-10-14 18:16:29   RunWithoutGridMeter_value 0
     2022-10-14 18:16:30   SSHLocal_value  1
     2022-10-14 18:19:24   S_value         2
     2022-10-14 18:16:29   ScanProgress_value 100.0
     2022-10-14 18:16:29   Scan_value      false
     2022-10-14 18:16:30   ScheduledCharge_value 0
     2022-10-14 18:16:30   SerialNumber_value 30320236
     2022-10-14 18:16:30   Serial_value   
     2022-10-14 18:16:30   ServiceName_value com.victronenergy.grid.ttyUSB0
     2022-10-14 18:16:30   ServiceType_value grid
     2022-10-14 18:16:30   Service_value   com.victronenergy.vebus/288
     2022-10-14 18:16:31   SetChargeState_value 1
     2022-10-14 18:16:30   SharedTemperatureSense_value 1
     2022-10-14 18:16:30   SharedVoltageSense_value 0
     2022-10-14 18:16:31   ShortIds_value  1
     2022-10-14 18:16:30   Shutdown_value  0
     2022-10-14 18:16:30   SlowCharge_value 0
     2022-10-14 18:16:29   SocLimit_value  15.0
     2022-10-14 18:16:31   SocTooLowToInvert_value 0
     2022-10-14 18:18:08   Soc_value       95.0
     2022-10-14 18:16:30   Socketcand_value 0
     2022-10-14 18:16:30   SolarChargeCurrent_value 0
     2022-10-14 18:16:30   SolarChargeVoltage_value 0
     2022-10-14 18:16:30   SolarChargerTemperatureSense_value 1
     2022-10-14 18:16:30   SolarChargerVoltageSense_value 0
     2022-10-14 18:16:30   SolarVoltageOffset_value 0
     2022-10-14 18:16:30   Source_value    1
     2022-10-14 18:16:30   SpeedUnit_value km/h
     2022-10-14 18:16:30   StartWithMenuView_value 1
     2022-10-14 18:16:29   Start_value     0
     2022-10-14 18:16:31   State_value     3
     2022-10-14 18:19:20   StatusCode_value 10
     2022-10-14 18:19:24   Sum_value       52.96699999999999
     2022-10-14 18:16:31   SustainMode_value 0
     2022-10-14 18:16:31   Sustain_value   0
     2022-10-14 18:16:30   SystemName_value Thomas
     2022-09-18 12:36:42   SystemReset_value 0
     2022-10-14 18:16:30   SystemType_value ESS
     2022-10-14 18:16:30   TanksOverview_value 0
     2022-10-14 18:16:31   TargetPowerIsMaxFeedIn_value 0
     2022-10-14 18:16:31   TemperatureHighForceBypass_value 0
     2022-10-14 18:16:29   TemperatureSenseError_value 1
     2022-10-14 18:16:31   TemperatureSensor_value 0
     2022-10-14 18:16:30   TemperatureService_value com.victronenergy.battery.ttyACM0
     2022-10-14 18:19:24   Temperature_value 24.95
     2022-10-14 18:19:21   TimeLastContact_value 1665764360
     2022-10-14 18:16:30   TimeOff_value   0
     2022-10-14 18:16:30   TimeOnGenerator_value 0
     2022-10-14 18:19:18   TimeOnGrid_value 99960
     2022-10-14 18:16:30   TimeOnInverter_value 0
     2022-10-14 18:16:30   TimeZone_value  Europe/Berlin
     2022-10-14 18:16:31   Time_value      1663649520
     2022-10-14 18:16:29   Timestamp_value 1665664393
     2022-10-14 18:16:29   Type_value      0
     2022-10-14 18:16:29   UnitId_value    22
     2022-10-14 18:16:30   Url_value       
     2022-10-14 18:16:30   UserChargeLimited_value 0
     2022-10-14 18:16:30   UserDischargeLimited_value 0
     2022-10-14 18:19:24   V_value         228.9199981689453
     2022-10-14 18:16:29   VeBusError_value 2
     2022-10-14 18:16:31   VeBusNetworkQualityCounter_value 2
     2022-10-14 18:16:31   VebusChargeState_value 1
     2022-10-14 18:16:31   VebusError_value 0
     2022-10-14 18:16:31   VebusMainState_value 9
     2022-10-14 18:16:30   VebusService_value com.victronenergy.vebus.ttyUSB0
     2022-10-14 18:16:31   VebusSetChargeState_value 0
     2022-10-14 18:16:30   VebusSoc_value  1
     2022-10-14 18:16:30   VebusVoltageOffset_value 0
     2022-10-14 18:16:31   Version_value   1170212
     2022-10-14 18:16:30   VncInternet_value 1
     2022-10-14 18:16:30   VncLocal_value  1
     2022-10-14 18:16:29   VoltageSenseError_value 1
     2022-10-14 18:16:31   VoltageSensor_value 0
     2022-10-14 18:16:30   VoltageService_value com.victronenergy.battery.ttyACM0
     2022-10-14 18:19:24   Voltage_value   52.96
     2022-10-14 18:16:30   VolumeUnit_value 0
     2022-10-14 18:16:30   VrmDeviceInstance_value 71
     2022-10-14 18:16:30   VrmTimeout_value 0
     2022-10-14 18:16:31   WaitingForRelayTest_value 0
     2022-10-14 18:16:30   com_victronenergy_battery_1_value com.victronenergy.battery.ttyACM0
     2022-10-14 18:16:30   com_victronenergy_grid_71_value com.victronenergy.grid.ttyUSB0
     2022-10-14 18:16:30   com_victronenergy_hub4_0_value com.victronenergy.hub4
     2022-10-14 18:16:30   com_victronenergy_pvinverter_20_value com.victronenergy.pvinverter.pv_123_1166399
     2022-10-14 18:16:30   com_victronenergy_pvinverter_21_value com.victronenergy.pvinverter.pv_111_1213739
     2022-10-14 18:16:30   com_victronenergy_pvinverter_22_value com.victronenergy.pvinverter.pv_122_1214347
     2022-10-14 18:16:30   com_victronenergy_settings_0_value com.victronenergy.settings
     2022-10-14 18:16:30   com_victronenergy_vebus_288_value com.victronenergy.vebus.ttyUSB0
     2022-10-13 14:32:46   in_opCommand_1  device-list-2
     2022-10-13 14:32:46   in_opCommand_2_commandid klhQli2R
     2022-10-13 14:32:46   in_ts           1665664366
     2022-10-12 12:28:30   keepalive_value 1
     2022-10-13 14:32:50   out_opResponse_command device-list-2
     2022-10-13 14:32:50   out_opResponse_commandid klhQli2R
     2022-09-24 07:57:59   out_opResponse_feedback_devices_1_id com.victronenergy.vebus.ttyUSB0/Devices/Bms
     2022-09-24 07:57:59   out_opResponse_feedback_devices_1_vregLink no
     2022-09-24 07:57:59   out_opResponse_feedback_devices_2_id com.victronenergy.vebus.ttyUSB0/Devices/Dmc
     2022-09-24 07:57:59   out_opResponse_feedback_devices_2_vregLink no
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/ChargeDisabledDueToLowTemp 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/ChargeIsDisabled 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/GridRelayReport/Code 8390661
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/GridRelayReport/Count 9
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/GridRelayReport/Reset 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/HighDcCurrent 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/HighDcVoltage 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/IgnoreAcIn1 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/MainsPllLocked 1
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/PcvPotmeterOnZero 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/PowerPackPreOverload 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/SocTooLowToInvert 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/SustainMode 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/SwitchoverInfo/Connecting 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/SwitchoverInfo/Delay 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/SwitchoverInfo/ErrorFlags 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/TemperatureHighForceBypass 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/VeBusNetworkQualityCounter 2
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_ExtendStatus/WaitingForRelayTest 0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_InterfaceProtectionLog/0/ErrorFlags 8
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_InterfaceProtectionLog/0/Time 1663649520
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_data_Version 2623497
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_id com.victronenergy.vebus.ttyUSB0/Devices/0
     2022-09-24 07:57:59   out_opResponse_feedback_devices_3_vregLink no
     2022-10-13 14:32:49   out_opResponse_feedback_exitcode 3
     2022-10-13 14:32:43   out_opResponse_feedback_mqtt-rpc_version 1.73
     2022-10-13 14:32:43   out_opResponse_feedback_pong :)
     2022-10-13 14:32:49   out_opResponse_feedback_status running
     2022-10-03 12:06:09   out_opResponse_feedback_systems_1_readablename MultiPlus-II 48/5000/70-50
     2022-10-03 12:06:09   out_opResponse_feedback_systems_1_servicename com.victronenergy.vebus.ttyUSB0
     2022-10-13 14:32:50   out_opResponse_feedback_xmloutput </devicelist>
     2022-10-13 14:32:50   out_opResponse_finished true
     2022-10-13 14:32:50   out_opResponse_msgnr 14
     2022-10-13 14:32:50   out_ts          1665664370
     2022-10-14 18:18:24   system_0_Serial
Attributes:
   readingList victron_mqtt:N/b827eb988901/keepalive:.* { json2nameValue($EVENT, 'keepalive_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Serial:.* { json2nameValue($EVENT, 'Serial_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ActiveIn/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ActiveIn/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ActiveIn/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ActiveIn/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ActiveIn/Source:.* { json2nameValue($EVENT, 'Source_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Consumption/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Consumption/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Consumption/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Consumption/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnInput/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnInput/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnInput/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnInput/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnOutput/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnOutput/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnOutput/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/ConsumptionOnOutput/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/DeviceType:.* { json2nameValue($EVENT, 'DeviceType_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/LastStartTime:.* { json2nameValue($EVENT, 'LastStartTime_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/ProductId:.* { json2nameValue($EVENT, 'ProductId_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/RunningByConditionCode:.* { json2nameValue($EVENT, 'RunningByConditionCode_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Genset/Runtime:.* { json2nameValue($EVENT, 'Runtime_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Grid/DeviceType:.* { json2nameValue($EVENT, 'DeviceType_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Grid/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Grid/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Grid/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Grid/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/Grid/ProductId:.* { json2nameValue($EVENT, 'ProductId_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/0/Connected:.* { json2nameValue($EVENT, 'Connected_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/0/DeviceInstance:.* { json2nameValue($EVENT, 'DeviceInstance_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/0/ServiceName:.* { json2nameValue($EVENT, 'ServiceName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/0/ServiceType:.* { json2nameValue($EVENT, 'ServiceType_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/0/Source:.* { json2nameValue($EVENT, 'Source_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/0/VrmDeviceInstance:.* { json2nameValue($EVENT, 'VrmDeviceInstance_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/1/Connected:.* { json2nameValue($EVENT, 'Connected_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/1/DeviceInstance:.* { json2nameValue($EVENT, 'DeviceInstance_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/1/ServiceName:.* { json2nameValue($EVENT, 'ServiceName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/1/ServiceType:.* { json2nameValue($EVENT, 'ServiceType_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/1/Source:.* { json2nameValue($EVENT, 'Source_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/1/VrmDeviceInstance:.* { json2nameValue($EVENT, 'VrmDeviceInstance_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/In/NumberOfAcInputs:.* { json2nameValue($EVENT, 'NumberOfAcInputs_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGenset/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGenset/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGenset/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGenset/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGrid/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGrid/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGrid/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnGrid/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnOutput/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnOutput/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnOutput/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Ac/PvOnOutput/NumberOfPhases:.* { json2nameValue($EVENT, 'NumberOfPhases_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/ActiveBatteryService:.* { json2nameValue($EVENT, 'ActiveBatteryService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/AutoSelectedBatteryMeasurement:.* { json2nameValue($EVENT, 'AutoSelectedBatteryMeasurement_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/AutoSelectedBatteryService:.* { json2nameValue($EVENT, 'AutoSelectedBatteryService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/AutoSelectedTemperatureService:.* { json2nameValue($EVENT, 'AutoSelectedTemperatureService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/AvailableBatteries:.* { json2nameValue($EVENT, 'AvailableBatteries_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/AvailableBatteryMeasurements:.* { json2nameValue($EVENT, 'AvailableBatteryMeasurements_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/AvailableBatteryServices:.* { json2nameValue($EVENT, 'AvailableBatteryServices_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/AvailableTemperatureServices:.* { json2nameValue($EVENT, 'AvailableTemperatureServices_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Batteries:.* { json2nameValue($EVENT, 'Batteries_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Connected:.* { json2nameValue($EVENT, 'Connected_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/BatteryCurrentSense:.* { json2nameValue($EVENT, 'BatteryCurrentSense_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/BatteryVoltageSense:.* { json2nameValue($EVENT, 'BatteryVoltageSense_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/BmsParameters:.* { json2nameValue($EVENT, 'BmsParameters_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/Dvcc:.* { json2nameValue($EVENT, 'Dvcc_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/EffectiveChargeVoltage:.* { json2nameValue($EVENT, 'EffectiveChargeVoltage_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/ExtraBatteryCurrent:.* { json2nameValue($EVENT, 'ExtraBatteryCurrent_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/MaxChargeCurrent:.* { json2nameValue($EVENT, 'MaxChargeCurrent_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/ScheduledCharge:.* { json2nameValue($EVENT, 'ScheduledCharge_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/SolarChargeCurrent:.* { json2nameValue($EVENT, 'SolarChargeCurrent_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/SolarChargeVoltage:.* { json2nameValue($EVENT, 'SolarChargeVoltage_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/SolarChargerTemperatureSense:.* { json2nameValue($EVENT, 'SolarChargerTemperatureSense_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/SolarChargerVoltageSense:.* { json2nameValue($EVENT, 'SolarChargerVoltageSense_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Control/VebusSoc:.* { json2nameValue($EVENT, 'VebusSoc_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/Alarms/CircuitBreakerTripped:.* { json2nameValue($EVENT, 'CircuitBreakerTripped_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/BatteryService:.* { json2nameValue($EVENT, 'BatteryService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/ConsumedAmphours:.* { json2nameValue($EVENT, 'ConsumedAmphours_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/Current:.* { json2nameValue($EVENT, 'Current_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/ProductId:.* { json2nameValue($EVENT, 'ProductId_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/Soc:.* { json2nameValue($EVENT, 'Soc_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/State:.* { json2nameValue($EVENT, 'State_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/Temperature:.* { json2nameValue($EVENT, 'Temperature_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/TemperatureService:.* { json2nameValue($EVENT, 'TemperatureService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/TimeToGo:.* { json2nameValue($EVENT, 'TimeToGo_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/Voltage:.* { json2nameValue($EVENT, 'Voltage_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Battery/VoltageService:.* { json2nameValue($EVENT, 'VoltageService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Charger/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/FuelCell/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Pv/Current:.* { json2nameValue($EVENT, 'Current_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Pv/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/System/MeasurementType:.* { json2nameValue($EVENT, 'MeasurementType_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/System/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Vebus/Current:.* { json2nameValue($EVENT, 'Current_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dc/Vebus/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Debug/BatteryOperationalLimits/CurrentOffset:.* { json2nameValue($EVENT, 'CurrentOffset_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Debug/BatteryOperationalLimits/SolarVoltageOffset:.* { json2nameValue($EVENT, 'SolarVoltageOffset_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Debug/BatteryOperationalLimits/VebusVoltageOffset:.* { json2nameValue($EVENT, 'VebusVoltageOffset_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/DeviceInstance:.* { json2nameValue($EVENT, 'DeviceInstance_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dvcc/Alarms/FirmwareInsufficient:.* { json2nameValue($EVENT, 'FirmwareInsufficient_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Dvcc/Alarms/MultipleBatteries:.* { json2nameValue($EVENT, 'MultipleBatteries_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/FirmwareBuild:.* { json2nameValue($EVENT, 'FirmwareBuild_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/FirmwareVersion:.* { json2nameValue($EVENT, 'FirmwareVersion_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/GpsService:.* { json2nameValue($EVENT, 'GpsService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/HardwareVersion:.* { json2nameValue($EVENT, 'HardwareVersion_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Hub:.* { json2nameValue($EVENT, 'Hub_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Mgmt/Connection:.* { json2nameValue($EVENT, 'Connection_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Mgmt/ProcessName:.* { json2nameValue($EVENT, 'ProcessName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Mgmt/ProcessVersion:.* { json2nameValue($EVENT, 'ProcessVersion_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/ProductId:.* { json2nameValue($EVENT, 'ProductId_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/ProductName:.* { json2nameValue($EVENT, 'ProductName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/PvInvertersProductIds:.* { json2nameValue($EVENT, 'PvInvertersProductIds_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Relay/0/State:.* { json2nameValue($EVENT, 'State_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/ServiceMapping/com_victronenergy_grid_71:.* { json2nameValue($EVENT, 'com_victronenergy_grid_71_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/ServiceMapping/com_victronenergy_settings_0:.* { json2nameValue($EVENT, 'com_victronenergy_settings_0_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/ServiceMapping/com_victronenergy_vebus_288:.* { json2nameValue($EVENT, 'com_victronenergy_vebus_288_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/BatteryLife:.* { json2nameValue($EVENT, 'BatteryLife_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/ChargeDisabled:.* { json2nameValue($EVENT, 'ChargeDisabled_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/DischargeDisabled:.* { json2nameValue($EVENT, 'DischargeDisabled_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/LowSoc:.* { json2nameValue($EVENT, 'LowSoc_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/SlowCharge:.* { json2nameValue($EVENT, 'SlowCharge_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/State:.* { json2nameValue($EVENT, 'State_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/UserChargeLimited:.* { json2nameValue($EVENT, 'UserChargeLimited_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemState/UserDischargeLimited:.* { json2nameValue($EVENT, 'UserDischargeLimited_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/SystemType:.* { json2nameValue($EVENT, 'SystemType_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Timers/TimeOff:.* { json2nameValue($EVENT, 'TimeOff_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Timers/TimeOnGenerator:.* { json2nameValue($EVENT, 'TimeOnGenerator_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Timers/TimeOnGrid:.* { json2nameValue($EVENT, 'TimeOnGrid_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/Timers/TimeOnInverter:.* { json2nameValue($EVENT, 'TimeOnInverter_', $JSONMAP) }
victron_mqtt:N/b827eb988901/system/0/VebusService:.* { json2nameValue($EVENT, 'VebusService_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Mgmt/ProcessName:.* { json2nameValue($EVENT, 'ProcessName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Mgmt/ProcessVersion:.* { json2nameValue($EVENT, 'ProcessVersion_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Mgmt/Connection:.* { json2nameValue($EVENT, 'Connection_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/DeviceInstance:.* { json2nameValue($EVENT, 'DeviceInstance_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/ProductId:.* { json2nameValue($EVENT, 'ProductId_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/ProductName:.* { json2nameValue($EVENT, 'ProductName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/FirmwareVersion:.* { json2nameValue($EVENT, 'FirmwareVersion_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/HardwareVersion:.* { json2nameValue($EVENT, 'HardwareVersion_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Connected:.* { json2nameValue($EVENT, 'Connected_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L1/Voltage:.* { json2nameValue($EVENT, 'Voltage_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L1/Current:.* { json2nameValue($EVENT, 'Current_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L1/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L2/Voltage:.* { json2nameValue($EVENT, 'Voltage_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L2/Current:.* { json2nameValue($EVENT, 'Current_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L2/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L3/Voltage:.* { json2nameValue($EVENT, 'Voltage_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L3/Current:.* { json2nameValue($EVENT, 'Current_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/L3/Power:.* { json2nameValue($EVENT, 'Power_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/Energy/Forward:.* { json2nameValue($EVENT, 'Forward_', $JSONMAP) }
victron_mqtt:N/b827eb988901/grid/71/Ac/Energy/Reverse:.* { json2nameValue($EVENT, 'Reverse_', $JSONMAP) }
victron_mqtt:N/b827eb988901/fronius/0/AutoDetect:.* { json2nameValue($EVENT, 'AutoDetect_', $JSONMAP) }
victron_mqtt:N/b827eb988901/fronius/0/ScanProgress:.* { json2nameValue($EVENT, 'ScanProgress_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Buffer/Count:.* { json2nameValue($EVENT, 'Count_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Buffer/ErrorState:.* { json2nameValue($EVENT, 'ErrorState_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Buffer/FreeDiskSpace:.* { json2nameValue($EVENT, 'FreeDiskSpace_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Buffer/Location:.* { json2nameValue($EVENT, 'Location_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Buffer/OldestTimestamp:.* { json2nameValue($EVENT, 'OldestTimestamp_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Storage/MountState:.* { json2nameValue($EVENT, 'MountState_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Vrm/ConnectionError:.* { json2nameValue($EVENT, 'ConnectionError_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Vrm/ConnectionErrorMessage:.* { json2nameValue($EVENT, 'ConnectionErrorMessage_', $JSONMAP) }
victron_mqtt:N/b827eb988901/logger/0/Vrm/TimeLastContact:.* { json2nameValue($EVENT, 'TimeLastContact_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbusclient/0/Scan:.* { json2nameValue($EVENT, 'Scan_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbusclient/0/ScanProgress:.* { json2nameValue($EVENT, 'ScanProgress_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/LastError/Message:.* { json2nameValue($EVENT, 'Message_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/LastError/Timestamp:.* { json2nameValue($EVENT, 'Timestamp_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/0/IsActive:.* { json2nameValue($EVENT, 'IsActive_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/0/ServiceName:.* { json2nameValue($EVENT, 'ServiceName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/0/UnitId:.* { json2nameValue($EVENT, 'UnitId_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/1/IsActive:.* { json2nameValue($EVENT, 'IsActive_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/1/ServiceName:.* { json2nameValue($EVENT, 'ServiceName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/1/UnitId:.* { json2nameValue($EVENT, 'UnitId_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/2/IsActive:.* { json2nameValue($EVENT, 'IsActive_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/2/ServiceName:.* { json2nameValue($EVENT, 'ServiceName_', $JSONMAP) }
victron_mqtt:N/b827eb988901/modbustcp/0/Services/2/UnitId:.* { json2nameValue($EVENT, 'UnitId_', $JSONMAP) }
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Beta-User

Oha, ähnlich schlimm wie vermutet... Selbst "complex" hilft leider nur bedingt weiter, weil z.B. trotz "Power_"-Präfix vermutlich die Daten von L2 die von L1 überschreiben, welche wiederum durch L3 gekillt werden... Also müßte man für den vollen Überblick auch noch die Topic-Anteile passend für automatisierte prefixes auswerten. Noch Fragen...?!?
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

sledge

Offtopic: Interessante Erkenntnis: Der List ist zu lang um in CODE-Tags zu passen. Habe also unten was abgeschnitten...

@Beta-USer: Yep, richtig erkannt.

Andererseits benötigt "man" nur ein paar Werte sinnvollerweise in FHEM, zB SOC Batterie, Status Batterie (charge / discharge) etc. Victron pbulished alle Parameter, die es auch auf dem internen DBUS verwendet, via MQTT, wenn man diese anfordert.

Daher bin ich dazu übergegangen, mir nur die 5-10 relevanten Werte via Modbus TCP nach FHEM zu holen.

Alles andere findet IMHO entweder im VRM Portal von Victron statt oder wird über Venus OS direkt gesteuert...

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Telekatz

Such dir mit einem MQTT Explorer die Topics aus, die du haben möchtest und trag diese per Hand ein. Über Autocreate kommt da nichts brauchbares raus.

Meine Definition sieht z.B. so aus:

defmod Venus MQTT2_DEVICE MQTT2_Client_Venus
attr Venus event-min-interval .*:30,batterySoc:0
attr Venus readingList MQTT2_Client_Venus:N/xxxxxxxxxxxx/system/0/Dc/Pv/Power:.* {'pvPower' => sprintf("%.2f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/system/0/Dc/Battery/Power:.* {'batteryPower' => sprintf("%.2f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/system/0/Dc/Battery/Soc:.* {'batterySoc' => sprintf("%i",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/system/0/Dc/Battery/Temperature:.* {'batteryTemperature' => sprintf("%.1f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/solarcharger/288/Yield/Power:.* {'pv1Power' => sprintf("%.2f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/solarcharger/289/Yield/Power:.* {'pv2Power' => sprintf("%.2f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/solarcharger/290/Yield/Power:.* {'pv3Power' => sprintf("%.2f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/solarcharger/288/Yield/System:.* {'pv1EnergyTotal' => sprintf("%.3f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/solarcharger/289/Yield/System:.* {'pv2EnergyTotal' => sprintf("%.3f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/solarcharger/290/Yield/System:.* {'pv3EnergyTotal' => sprintf("%.3f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/grid/40/Ac/Power:.* {'gridPower' => sprintf("%.1f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/system/0/Ac/Consumption/L1/Power:.* {'loadPowerL1' => sprintf("%.1f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/system/0/Ac/Consumption/L2/Power:.* {'loadPowerL2' => sprintf("%.1f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/system/0/Ac/Consumption/L3/Power:.* {'loadPowerL3' => sprintf("%.1f",json2nameValue($EVENT)->{value})}\
MQTT2_Client_Venus:N/xxxxxxxxxxxx/vebus/51/Ac/Power:.* {'inverterPower' => sprintf("%.1f",json2nameValue($EVENT)->{value})}
attr Venus room Energie,MQTT2_DEVICE,Solar
attr Venus stateFormat {sprintf("Leistung: %.1f W (%.1f W, %.1f W, %.1f W)  Heute: %.3f kWh", ReadingsVal($name,"pvPower",0),ReadingsVal($name,"pv1Power",0),ReadingsVal($name,"pv2Power",0),\
ReadingsVal($name,"pv3Power",0),ReadingsVal($name,"statPvEnergyTotalDay",0))}
attr Venus userReadings pvEnergyTotal {ReadingsNum("$name","pv1EnergyTotal",0)+ReadingsNum("$name","pv2EnergyTotal",0)+ReadingsNum("$name","pv3EnergyTotal",0)},\
loadPower {ReadingsNum("$name","loadPowerL1",0)+ReadingsNum("$name","loadPowerL2",0)+ReadingsNum("$name","loadPowerL3",0)},\
acPower {sprintf("grid: %.1f inverter: %.1f load: %.1f", ReadingsVal("$name","gridPower",0), ReadingsVal("$name","inverterPower",0),ReadingsVal("$name","loadPower",0))}

Oli_t

Ich habe es auch so ähnlich gemacht wie Sledge: einmal Autocreate und dann die

Victron_Client:N/--- hier Deine VRM-ID ---/grid/0/Ac/L1/Power:.* { json2nameValue($EVENT) }

in Sowas abgeändert:

Victron_Client:N/--- hier Deine VRM-ID ---/grid/0/Ac/L1/Power:.* { json2nameValue($EVENT,"L1_Power_") }

Dann haben alle Readings zwar am Ende des Namens ein "value" - damit kann ich aber leben  ;D

Noch ein Tip:

Lies Dir mal die Anleitung in der Victron Doku zum Thema Keepalive durch. Da muß man sich nämlich nicht alle Werte schicken lassen ! Ich habe mir als Keepalive ein AT-Device im FHEM angelegt, welches als "Payload" die Zweige enthält, die mich interessieren. Alles Andere sendet der MQTT-Server im Victron-GX Gerät dann auch nicht:

defmod Victron_MQTT_Keepalive at +*00:00:30 set Victron_Client publish R/--- hier Deine VRM-ID ---/keepalive ["settings/#", "grid/#", "battery/#", "hub4/#", "vebus/#"]

Jetzt suche ich im Moment nur noch den passenden Eintrag um den Inverter abzuschalten. -> siehe Screenshot (ESS-Settings)

Die Leistung auf Null setzen geht ja mit
set Victron_Client publish W/--- hier Deine VRM-ID ---/settings/0/Settings/CGwacs/MaxDischargePower {\"value\":0}

hab allerdings bis jetzt nur in der Victron-Doku gesucht und gesehen, dass es per Modbus auf jeden Fall geht. Vielleicht liest ja hier Jemand mit, der es per MQTT schon umgesetzt hat ...

Liebe Grüße,
Oli

Beta-User

Anmerkungen:

Der Code von Telekatz ist (wie immer!) cool!

Wenn man "alles" abonniert (default bei MQTT2_CLIENT) erzeugt man mit den vielen Topics trotzdem eine gewisse Grundlast - es müssen schließlich 590 von 600 Nachrichten verworfen werden. Ggf. ist es dann sinnvoll, gleich mit subscriptions die angefragten Topics passend einzuschränken.

Das "at" von Oli_t kann man mit Hilfe von "periodicCmd" auch direkt auf das MQTT2_DEVICE verlagern, man braucht dann halt einen entsprechenden "setter" oder "getter". Hier könnte es besser per getList direkt als echtes MQTT-Kommando umgesetzt werden, ich habe grade aber nur ein "allgemeines" fhem-Kommando-Beispiel:
attr MQTT2_OpenMQTTGateway_Buero periodicCmd deleteReadings:1440
attr MQTT2_OpenMQTTGateway_Buero setList [...]\
  deleteReadings:noArg {fhem "deletereading -q $NAME (?!associatedWith|attrTemplateVersion|last|LWT|version|Sys_).* 86400"}


Und das "0"-Kommando ist eigentlich ein klassischer Fall für die setList (0 => "off", andere Zahlenwerte per Slider einstellbar).

Wenn es möglich ist, daraus was allgemeingültiges zu basteln (ggf. auch betr. die subscriptions am MQTT2_CLIENT), kann ich das gerne als attrTemplate mit aufnehmen.
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

andremar6918

@ Oli_t:

Eine Frage zu keepalive:

Die Victron-Doku dazu habe ich gelesen. Wenn ich in FHEM

set Victron_Client publish R/--- hier Deine VRM-ID ---/keepalive ["settings/#", "grid/#", "battery/#", "hub4/#", "vebus/#"]

ausführe, werden genau die angeforderten Werten gepublished. Wenn ich aber in der Console

mosquitto_pub -h 192.168.XXX.XXX -t R/--- hier Deine VRM-ID --/keepalive -m 'vebus/#'

ausführe, funktioniert das nicht. Hast du evtl. eine Idee, warum das mit mosquitto_pub nicht funktionieren sollte?

VG

Beta-User

Würde annehmen, dass das mit dem Array Pflicht ist und das Payload-Format daher etwas anders sein muss:mosquitto_pub -h 192.168.XXX.XXX -t R/--- hier Deine VRM-ID --/keepalive -m '["vebus/#"]'
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

andremar6918

 :) Super, das war der Fehler. Schon funktioniert es. LG

sukram

#11
Hallo zusammen,

ich bin auch schon eine Weile an dem Thema dran und habe das dann so gelöst:

define MQTT2_FHEMServer MQTT2_DEVICE FHEMServer
attr MQTT2_FHEMServer DbLogInclude .*
attr MQTT2_FHEMServer IODev CerboClient
attr MQTT2_FHEMServer alias PV Anlage
attr MQTT2_FHEMServer autocreate 0
attr MQTT2_FHEMServer event-min-interval .*:20
attr MQTT2_FHEMServer mqttPublish *:topic={"solar/$reading"}
attr MQTT2_FHEMServer readingList FHEMServer:N/victron-vrm-id/dcsystem/278/Dc/0/Current:.* { { "DC_Strom"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/dcsystem/278/Dc/0/Power:.* { {"DC_Power"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/dcsystem/278/Dc/0/Voltage:.* { {"DC_Spannung_1"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/dcsystem/278/History/EnergyIn:.* { {"DC_Verbrauch"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/battery/512/Soc:.* { {"BATT_SOC"=>($EVENT =~ /..value...([\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/battery/512/Dc/0/Current:.* { {"BATT_Strom"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/battery/512/Dc/0/Voltage:.* { {"BATT_Spannung"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/battery/512/Dc/0/Power:.* { {"BATT_Power"=>($EVENT =~ /..value...([-]?[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/battery/512/Dc/0/Temperature:.* { {"BATT_Temperatur"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Dc/0/Current:.* { {"CHRG_DC_Strom"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Dc/0/Voltage:.* { {"CHRG_DC_Spannung"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Mode:.* { {"CHRG_Mode"=>($EVENT =~ /..value...([-]?[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Pv/I:.* { {"CHRG_PV_Strom"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Pv/V:.* { {"CHRG_PV_Spannung"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Yield/Power:.* { {"CHRG_Power"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Yield/System:.* { {"CHRG_Ertrag_Sys"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Yield/User:.* { {"CHRG_Ertrag_Use"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Link/ChargeCurrent:.* { {"MaxChargeCurrent"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/Link/ChargeVoltage:.* { {"MaxChargeVoltage"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/History/Daily/0/Yield:.* { {"CHRG_Ertrag_Tag"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }\
FHEMServer:N/victron-vrm-id/solarcharger/279/State:.* { {"CHRG_PV_Status"=>(($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)*1.0)} }\

attr MQTT2_FHEMServer room Technik->PV
attr MQTT2_FHEMServer stateFormat DC Last <b>P</b> [$name:DC_Power:d1]W <b>W<sub>out</sub></b> [$name:DC_Verbrauch:d1]kWh\
<br>Batterie <b>P</b> [$name:BATT_Power]W <b>SOC</b> [$name:BATT_SOC]% <b>T</b> [$name:BATT_Temperatur:d1]°C\
<br>MPPT PV <b>P</b> [$name:CHRG_Power:d1]W <b>W<sub>in</sub></b> [$name:CHRG_Ertrag_Use:d2]kWh <b>W<sub>Tag</sub></b>[$name:CHRG_Ertrag_Tag:d2]kWh<br>\
PV Ausl. [$name:PV_Auslastung:d1]% Ptot [$name:PV_Verlust:d1]W Gespart [$name:DC_Sparbetrag:d2]€
attr MQTT2_FHEMServer userReadings PV_Auslastung {(ReadingsVal($name,"CHRG_Power",0)*100)/2800},\
PV_Verlust {ReadingsVal($name,"CHRG_Power",0)-(ReadingsVal($name,"BATT_Power",0)+ReadingsVal($name,"DC_Power",0))},\
DC_Sparbetrag {ReadingsVal($name,"DC_Verbrauch",0)*0.5037}

#   READINGS:
#     2022-11-22 10:09:50   BATT_Power      39
#     2022-11-22 09:42:25   BATT_SOC        48
#     2022-11-22 10:09:48   BATT_Spannung   49.630001068115234
#     2022-11-22 10:09:50   BATT_Strom      0.800000011920929
#     2022-11-22 10:07:18   BATT_Temperatur 19.600000381469727
#     2022-11-22 10:09:48   CHRG_DC_Spannung 49.720001220703125
#     2022-11-22 10:09:50   CHRG_DC_Strom   2.5
#     2022-11-22 10:08:52   CHRG_Ertrag_Sys 1569.52001953125
#     2022-11-22 10:08:52   CHRG_Ertrag_Tag 0.3199999928474426
#     2022-11-22 10:08:52   CHRG_Ertrag_Use 1569.47998046875
#     2022-11-18 16:40:03   CHRG_Mode       1
#     2022-11-22 10:09:50   CHRG_PV_Spannung 56.61000061035156
#     2022-11-22 07:29:47   CHRG_PV_Status  0
#     2022-11-22 10:09:50   CHRG_Power      128.0
#     2022-11-22 10:09:48   DC_Power        83.80999755859375
#     2022-11-22 10:09:48   DC_Spannung_1   49.29999923706055
#     2022-11-22 09:44:11   DC_Strom        1.7000000476837158
#     2022-11-22 10:05:40   DC_Verbrauch    1426.719970703125
#     2022-11-18 16:39:16   IODev           CerboClient
#     2022-11-22 07:29:50   MaxChargeCurrent 60.0
#     2022-11-18 16:40:03   MaxChargeVoltage 52.099998474121094
#     2022-11-22 10:09:50   PV_Auslastung   4.57142857142857
#     2022-11-22 10:09:50   PV_Verlust      5.19000244140625
#
setstate MQTT2_FHEMServer DC Last <b>P</b> 83.8W <b>W<sub>out</sub></b> 1426.7kWh\
<br>Batterie <b>P</b> 39W <b>SOC</b> 48% <b>T</b> 19.6°C\
<br>MPPT PV <b>P</b> 128.0W <b>W<sub>in</sub></b> 1569.48kWh <b>W<sub>Tag</sub></b>0.32kWh<br>\
PV Ausl. 4.6% Ptot 5.2W



define CerboClient MQTT2_CLIENT 10.102.1.201:8883
attr CerboClient SSL 1
attr CerboClient autocreate simple
attr CerboClient clientId FHEMServer
attr CerboClient disable 0
attr CerboClient group Z_PVController
attr CerboClient keepaliveTimeout 10
attr CerboClient room Technik->PV
attr CerboClient subscriptions N/victron-vrm-id/battery/+/Dc/# N/victron-vrm-id/battery/512/Info/# N/victron-vrm-id/battery/512/Soc N/victron-vrm-id/solarcharger/# N/victron-vrm-id/dcsystem/278/History/EnergyIn N/victron-vrm-id/dcsystem/278/Dc/#
#   BUF       
#   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#   ClientsKeepOrder 1
#   DEF        10.102.1.201:8883
#   DeviceName 10.102.1.201:8883
#   FD         10
#   FUUID      61952b53-f33f-64c3-550c-e198583b4a6aa237
#   NAME       CerboClient
#   NR         145
#   PARTIAL   
#   SSL        1
#   STATE      opened
#   TYPE       MQTT2_CLIENT
#   WBCallback
#   clientId   FHEMServer
#   eventCount 7171
#   lastMsgTime 1669108428.61818
#   nextOpenDelay 5
#   MatchList:
#     1:MQTT2_DEVICE ^.
#     2:MQTT_GENERIC_BRIDGE ^.
#   READINGS:
#     2022-11-22 10:13:44   lastPublish     R/victron-vrm-id/keepalive:
#     2022-11-18 16:39:21   state           opened
#
setstate CerboClient opened
setstate CerboClient 2022-11-22 10:13:44 lastPublish R/victron-vrm-id/keepalive:
setstate CerboClient 2022-11-18 16:39:21 state opened



Ich zerlege praktisch die MQTT Messages per Hand. Leider führt das noch hin und wieder zu Fehlern im Log, wenn die Messages leer sind:

2022.11.02 17:06:23 1: PERL WARNING: Odd number of elements in anonymous hash at (eval 8684787) line 1.
2022.11.02 17:06:23 3: eval: my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{ {"MaxChargeCurrent"=>($EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }


Ich nehme die ausgewählten Daten, schiebe die dann wieder per MQTTPublish auf den FHEM-Eigenen Broker, womit dann Statusdisplays gefüttert werden.

Das Keepalive mache ich folgendermaßen:

define CerboUpdate at +*00:00:45 set CerboClient publish R/victron-vrm-id/keepalive
attr CerboUpdate disable 0
attr CerboUpdate group Z_PVController
attr CerboUpdate room Technik->PV
#   COMMAND    set CerboClient publish R/victron-vrm-id/keepalive
#   DEF        +*00:00:45 set CerboClient publish R/victron-vrm-id/keepalive
#   FUUID      619540d7-f33f-64c3-e5c2-0d483c61c712978b
#   NAME       CerboUpdate
#   NR         146
#   NTM        10:22:44
#   PERIODIC   yes
#   RELATIVE   yes
#   REP        -1
#   STATE      Next: 10:22:44
#   TIMESPEC   00:00:45
#   TRIGGERTIME 1669108964.7451
#   TRIGGERTIME_FMT 2022-11-22 10:22:44
#   TYPE       at
#   eventCount 7177
#   READINGS:
#     2022-11-22 10:21:59   state           Next: 10:22:44
#
setstate CerboUpdate Next: 10:22:44
setstate CerboUpdate 2022-11-22 10:21:59 state Next: 10:22:44



EDIT: Was ich noch erwähnen müsste: ich habe keinen Multiplus in Betrieb, nur ein 48V DC-System, dessen Verbrauch über einen SmartShunt erfasst wird (DC-System konfiguriert in Shunt + Cerbo). Die ganzen Verbraucher sind dann direkt bzw. mit DCDC Wandlern angeschlossen (z.B. Puls CD5)

Schlafsack

Hallo sukram,

ich hätte zu deinem Beispiel eine Frage:
Kann man die Nachkommastellen bei deinen Readings z.B. auf 2 Stellen nach dem Komma reduzieren, ohne ein userReading anzulegen? Wenn ja was müsste ich ändern?

Gruß Martin

Beta-User

#13
Zu den regexen bzw. den Log-Eintägen:

Man könnte zum einen eine Prüfung einbauen, ob es einen match gibt:
attr MQTT2_FHEMServer readingList N/victron-vrm-id/dcsystem/278/Dc/0/Current:.* { my $r=$EVENT =~ m/..value...([-]?[\d]+\.[\d]+)./ //return; { DC_Strom=>$r } }
Falls nicht immer hinter dem Komma was steht, wäre der hintere Teil mit dem Punkt optional, und man kann auch die Zahl der max. Ziffern hinter dem Komma in der regex einschränken, wenn man das will.

Hilfe, wie das geht, wäre z.B. hier zu finden: https://regex101.com/

Nachtrag noch: Das at könnte man noch ersetzen durch einen periodicCmd im MQTT2_DEVICE, es müßte dann halt ein entsprechender setter oder getter angelegt werden.
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

Schlafsack

Das mit dem Runden auf 2 Stellen, habe ich erst einmal so gelöst:


attr MQTT2_FHEMServer readingList CerboClient:N/victron-vrm-id/grid/30/Ac/Power:.* { {"Netzleistung"=> sprintf("%.2f",$EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }

goalv

[..]

Jetzt suche ich im Moment nur noch den passenden Eintrag um den Inverter abzuschalten. -> siehe Screenshot (ESS-Settings)

Die Leistung auf Null setzen geht ja mit
set Victron_Client publish W/--- hier Deine VRM-ID ---/settings/0/Settings/CGwacs/MaxDischargePower {\"value\":0}

hab allerdings bis jetzt nur in der Victron-Doku gesucht und gesehen, dass es per Modbus auf jeden Fall geht. Vielleicht liest ja hier Jemand mit, der es per MQTT schon umgesetzt hat ...

Liebe Grüße,
Oli
[/quote]

Wahrscheinlich hast Du schon eine Lösung gefunden. Falls nicht, versuch doch mal eine setList mit folgenden Einträgen, die den "Mode" des Multiplus setzen:

off W/<vrm_ID>/vebus/288/Mode {"value":4}
on W/<vrm_ID>/vebus/288/Mode {"value":3}
inv W/<vrm_ID>/vebus/288/Mode {"value":2}
chg W/<vrm_ID>/vebus/288/Mode {"value":1}
Mode W/<vrm_ID>/vebus/288/Mode {"value":$EVTPART1}
GridCurrentLimit W/<vrm_ID>/vebus/288/Ac/In/1/CurrentLimit {"value":$EVTPART1}
MinSOC W/<vrm_ID>/settings/0/Settings/CGwacs/BatteryLife/MinimumSocLimit {"value":$EVTPART1}
Relay0 W/<vrm_ID>/system/0/Relay/0/State:.* {"value":$EVTPART1}
Relay1 W/<vrm_ID>/system/0/Relay/1/State:.* {"value":$EVTPART1}

viel Erfolg!

kask

Hallo,
ich versuche meinen Victron auch über MQTT auszulesen. Aber ich bekomme keine values rein.

lediglich:
define MQTT2_venus MQTT2_DEVICE venus
attr MQTT2_venus readingList venus:N/xxxxxxxxxxxx/keepalive:.* { json2nameValue($EVENT, 'keepalive_', $JSONMAP) }\
venus:N/xxxxxxxxxxxx/system/0/Serial:.* { json2nameValue($EVENT, 'Serial_', $JSONMAP) }
attr MQTT2_venus room MQTT2_DEVICE,Solar,Strom
#   CFGFN     
#   CID        venus
#   DEF        venus
#   FUUID      64207dce-f33f-3c15-9af4-274984bcb22a2b57
#   IODev      venus
#   NAME       MQTT2_venus
#   NR         1681
#   STATE      ???
#   TYPE       MQTT2_DEVICE
#   eventCount 2
#   Helper:
#     DBLOG:
#       Serial_value:
#         logdb:
#           TIME       1679850958.23266
#           VALUE      xxxxxxxxxxxx
#       keepalive_value:
#         logdb:
#           TIME       1679850958.20996
#           VALUE      1
#   READINGS:
#     2023-03-26 19:15:58   IODev           venus
#     2023-03-26 19:15:58   Serial_value    xxxxxxxxxxxx
#     2023-03-26 19:15:58   keepalive_value 1
#
setstate MQTT2_venus 2023-03-26 19:15:58 IODev venus
setstate MQTT2_venus 2023-03-26 19:15:58 Serial_value xxxxxxxxxxxx
setstate MQTT2_venus 2023-03-26 19:15:58 keepalive_value 1


xxxxxxxxxxxx ist gleich der ID. Keine Ahnung ob man diese publishe sollte/kann.

Habe mich an https://wiki.fhem.de/wiki/Victron gehalten und auch das hier gepostet umzusetzen/testen.
Aber irgend etwas schein ich nicht gemacht zu haben.

Kann einer mal "eben" alle seine benötigten raw definitions posten das ich vergleichen kann.

Schlafsack

Hallo kask,

bei mir schicke ich den Keepalive jede Minute mit der SerialNumber
Wenn du auf Nummer sicher gehen willst, schicke ihn aller 50s

Keepalive
defmod keepalive DOIF {\
  [+:01];;\
    {fhem("set CerboClient publish R/xxxxxxxxxxxx/system/0/Serial xxxxxxxxxxxx")}\
}


CerboClient
defmod CerboClient MQTT2_CLIENT 192.168.1.52:1883

Victron Gerät
defmod Victron MQTT2_DEVICE CerboClient
attr Victron readingList CerboClient:N/xxxxxxxxxxxx/system/0/Dc/Battery/Power:.* { {"Batterie_Leistung"=>($EVENT =~ /..value...([-]?[\d]+)./g)} }\
CerboClient:N/xxxxxxxxxxxx/system/0/Dc/Battery/Soc:.* { {"Batterie_Ladezustand"=>($EVENT =~ /..value...([\d]+)./g)} }\
CerboClient:N/xxxxxxxxxxxx/grid/30/Ac/Power:.* { {"Zaehler_Netzleistung"=>sprintf("%.0f",$EVENT =~ /..value...([-]?[\d]+\.[\d]+)./g)} }

Gruß Schlafsack

kask

Danke, das war es.
Das keepalive muss geschickt werden, und das tat es nicht.
Jetzt geht es!

sukram

#19
Zitat von: Beta-User am 06 Januar 2023, 10:31:15Zu den regexen bzw. den Log-Eintägen:

Hallo,

Ich habe gar nicht mitbekommen, dass es Antworten gab  ::)

Danke für deinen Input, das werde ich die Tage mal ausprobieren!

Zitat von: Beta-User am 06 Januar 2023, 10:31:15Nachtrag noch: Das at könnte man noch ersetzen durch einen periodicCmd im MQTT2_DEVICE, es müßte dann halt ein entsprechender setter oder getter angelegt werden.
Kann man leider nicht. Also prinzipiell ja, aber praktisch nein. Der Timeout bei Venus GX ist fest auf 60 Sekunden, der periodicCMD kann aber nur minimal im Minutentakt. d.h. ich laufe jedesmal bei etwas mehr Last auf dem System Gefahr, dass die Gegenseite "den Hahn zudreht" und keine Daten mehr liefert.

MfG

Huabafranze

Hallo zusammen,
ich habe meinen Victron SMartSolar MPPT 100/30 nach dieser Anleitung in FHEM eingebunden:
https://wiki.fhem.de/wiki/Victron
Ich bekomme auch hunderte von readings. Ich würde gerne folgendes realisieren:
Ich möchte vom Solarregler wissen bzw. auslesen ob er im Zustand "Bulk", "Absorption" oder "Float" ist. Je nach zustand möchte ich dann einen Schaltvorgang auslösen. Das reading müsste also ein "state" ausgeben. Wie ich den Schaltbefehl dann mache weis ich, ich habe nur keine Ahnung wie ich den state für die 3 Ladezustände bekommen.
Könnte mir das jemand Anfängerfreundlich erklären?

Viele Grüße, Franz

Schlafsack

Hallo Huabafranze

du brauchst ein Reading glaube mit N/Serialnumber/solarcharger/279/MppOperationMode vom Victron. Da müsste eine Zahl rauskommen. Bei deinem Doif kannst du doch einfach sagen: wenn Zahl 2 (Bulk) --> mache was und wenn Zahl 3 --> mache was Anderes


Gruß
 

Huabafranze

Zitat von: Schlafsack am 25 Februar 2024, 14:58:52Hallo Huabafranze

du brauchst ein Reading glaube mit N/Serialnumber/solarcharger/279/MppOperationMode vom Victron. Da müsste eine Zahl rauskommen. Bei deinem Doif kannst du doch einfach sagen: wenn Zahl 2 (Bulk) --> mache was und wenn Zahl 3 --> mache was Anderes

Gruß
 

Hallo Schlafsack,
dieses Reading MppOperationMode habe ich, simmt aber nicht mit den Zahlen überein die von Victron angegeben werden  (0=Aus/ 2=Fehler/ 3=Bulk/ 4=Absorption/ 5=Float).
Außerdem ändert sich die Zahl nicht immer mit dem Ladezustand. Hast du das so eingerichtet?

Gruß Franz

Huabafranze

Habe es nun super hinbekommen. Bin fast zufrieden. Habe jetzt noch mitbekommen, dass ich ja dieses keepalive senden muss, da ich sonst nicht regelmäßig Daten bekomme.
Dazu ein paar Fragen. Ich habe
   
defmod di_MPPT_keepalive DOIF {[+30]; {fhem("set MQTT_MPPT1 publish R/XXXXXXXXXX/system/0/Serial XXXXXXXXX")}}
im MQTT2_DEVICE angelegt. Es soll also alle 30 Sekunden updaten. (MQTT_MPPT1 ist das DEVICE)
1. Stimmt der Befehl?
2. Ist das defmod im MQTT2_DEVICE oder MQTT2_CLIENT anzulegen?
3. Brauche ich auch das Reading für das keepalive in der readingList?
Gruß Franz

Schlafsack

Hallo Huabafranze,

- Der Befehl stimmt
- Du musst den client im Doif nehmen
- kein Reading anlegen, nur das Doif und los geht's


Gruß Schlafsack

Huabafranze

#25
Danke schon mal.
Er hat aber immer einen Syntax error.

#  DEF        {[+3]; {fhem("set venus publish R/Xxxxxxxxxxx/system/0/Serial Xxxxxxxxxxx")}}

block_01

condition c01: syntax error, line 1, at EOF

mode

enabled

state

initialized

timer_01_c01

28.02.2024 22:56:46


EDIT: der Fehler scheint weg zu sein. Ich habe das Device einfach noch mal enabled und jetzt scheint es zu funktionieren.