mqtt2.template: bugs, Fragen, Anregungen

Begonnen von Beta-User, 15 Dezember 2018, 11:44:43

Vorheriges Thema - Nächstes Thema

Dirk070

Ich hätte meine Frage offenbar hier stellen sollen, statt hier: https://forum.fhem.de/index.php?msg=1366845

SORRY!

tomcat.x

Da bin ich mir gar nicht so sicher, wenn gar nichts (keins Deiner MQTT2_DEVICE) mehr funktioniert.

Ansonsten wäre hier natürlich wichtig, um welches Gerät, welches Template es geht. Aber falls da was nicht mehr funktioniert, müsste Dein Gerät jetzt was anderes schicken.
FHEM: 6.4 auf Raspi 4B, Raspbian (noch Buster), Perl v5.28.1 mit Sender/Empfänger: 3 x CULv3, Duofern Stick
Gateways: FRITZ!Box 6591 (OS: 8.25), Trädfri, ConBee 2,  piVCCU (HM-MOD-RPI-PCB), OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo, UNIRoll

Dirk070

Also bis zum FHEM-Update funktionierte diese Konstellation.

Hier mal die RAWs.

Server
defmod mqtt2server MQTT2_SERVER 1883 global
attr mqtt2server autocreate no
attr mqtt2server event-on-change-reading .*
attr mqtt2server icon mqtt
attr mqtt2server room Strom

setstate mqtt2server 2026-07-20 09:26:27 nrclients 1
setstate mqtt2server 2026-07-20 09:31:43 state Initialized

Device

defmod e3dc_s10Pro MQTT2_DEVICE mqtt2server
attr e3dc_s10Pro alias S10
attr e3dc_s10Pro devStateIcon {\
use Math::Round qw/nearest/;;;;\
my $SolarColor = 'measure_photovoltaic_inst@blue';;;;\
my $HomeColor = 'status_standby@red';;;;\
my $WallboxColor = 'wallbox@red';;;;\
my $BatteryColor;;;;\
my $Solar_Power_kWh = Math::Round::nearest('0.01',ReadingsVal($name, "Solar_Power", "0") / 1000);;;;\
my $Home_Power_kWh = Math::Round::nearest('0.01',ReadingsVal($name, "Home_Power", "0") / 1000);;;;\
my $Wallbox_Power_kWh = Math::Round::nearest('0.01',ReadingsVal($name, "Wallbox_TotalPower", "0") / 1000);;\
my $Battery_Power_kWh = abs(Math::Round::nearest('0.01',ReadingsVal($name, "Battery_Power", "0") / 1000));;\
my $Battery_SOC = ReadingsVal($name, "Battery_SOC", "0");;\
my $Battery_Power = ReadingsVal($name, "Battery_Power", "0");;\
my $Batt_WB_Color;;;;\
my $Batt_WB_Text;;;;\
my $Batt_WB_Value;;;;\
$SolarColor='measure_photovoltaic_inst' if (ReadingsVal($name, "Solar_Power", "") > 0);;;;\
$HomeColor='status_standby' if (ReadingsVal($name, "Solar_Power", "") >= (ReadingsVal($name, "Home_Power", "")));;;;\
$WallboxColor='wallbox' if (ReadingsVal($name, "Solar_Power", "") >= (ReadingsVal($name, "Wallbox_TotalPower", "")));;;;\
##$BatteryColor='batterie' if (ReadingsVal($name, "Battery_Power", "") >= 0);;;;\
if ($Battery_SOC > 12 and $Battery_SOC < 37)\
{\
$BatteryColor='measure_battery_25';;;;\
$BatteryColor='measure_battery_25@red'if (ReadingsVal($name, "Battery_Power", "") < 0);;;;\
}\
elsif ($Battery_SOC > 36 and $Battery_SOC < 62)\
{\
$BatteryColor='measure_battery_50';;;;\
$BatteryColor='measure_battery_50@red'if (ReadingsVal($name, "Battery_Power", "") < 0);;;;\
}\
elsif ($Battery_SOC > 61 and $Battery_SOC < 87)\
{\
$BatteryColor='measure_battery_75';;;;\
$BatteryColor='measure_battery_75@red'if (ReadingsVal($name, "Battery_Power", "") < 0);;;; \
}\
elsif ($Battery_SOC > 86)\
{\
$BatteryColor='measure_battery_100';;;;\
$BatteryColor='measure_battery_100@red'if (ReadingsVal($name, "Battery_Power", "") < 0);;;; \
}\
elsif ($Battery_SOC < 13)\
{\
$BatteryColor='measure_battery_0';;;;\
$BatteryColor='measure_battery_0@red'if (ReadingsVal($name, "Battery_Power", "") < 0);;;; \
}\
##$BatteryColor='batterie' if (ReadingsVal($name, "Battery_SOC", "") > 0);;;;\
if ($Wallbox_Power_kWh > 0)\
{\
$Batt_WB_Color = $WallboxColor;;;;\
$Batt_WB_Text = 'WB';;;;\
$Batt_WB_Value = $Wallbox_Power_kWh;;;;\
}\
else\
{\
$Batt_WB_Color = $BatteryColor;;;;\
$Batt_WB_Text = 'PWR';;;;\
if (ReadingsVal($name, "Battery_Power", "") == 0)\
{\
$Batt_WB_Value = $Battery_SOC . '%';;;;\
}\
else\
{\
$Batt_WB_Value = $Battery_Power_kWh;;;; \
};;;;\
## $Batt_WB_Text = 'SOC';;;;\
## $Batt_WB_Value = $Battery_SOC . '%';;;; \
};;;;\
"<div>" . FW_makeImage("$HomeColor","Haus") . " " . $Home_Power_kWh . FW_makeImage("control_1"," ") . \
FW_makeImage("$SolarColor","PV") . " " . $Solar_Power_kWh . FW_makeImage("control_1"," ") . \
FW_makeImage("$Batt_WB_Color","$Batt_WB_Text") . " " . $Batt_WB_Value . "</div>"}
attr e3dc_s10Pro event-min-interval .*:3600
attr e3dc_s10Pro event-on-change-reading .*
attr e3dc_s10Pro group PV
attr e3dc_s10Pro icon solar
attr e3dc_s10Pro readingList mqtt2server:e3dc/system/installed_peak_power:.* System_Peak\
mqtt2server:e3dc/home/power:.* Home_Power\
mqtt2server:e3dc/grid/power:.* Grid_Power\
mqtt2server:e3dc/grid/energy/out:.* Grid_Today_EnergyOut\
mqtt2server:e3dc/grid/energy/in:.* Grid_Today_EnergyIn\
mqtt2server:e3dc/pm/energy:.* PM_Energy\
mqtt2server:e3dc/pm/energy/L1:.* PM_Energy_L1\
mqtt2server:e3dc/pm/energy/L2:.* PM_Energy_L2\
mqtt2server:e3dc/pm/energy/L3:.* PM_Energy_L3\
mqtt2server:e3dc/pm_0/energy:.* PM_0_Energy\
mqtt2server:e3dc/pm_1/energy:.* PM_1_Energy\
mqtt2server:e3dc/pm/power:.* PM_Power\
mqtt2server:e3dc/pm/voltage/L1:.* PM_Voltage1\
mqtt2server:e3dc/pvi/energy_grid_consumption/L1:.* Grid_Energy_L1\
mqtt2server:e3dc/pvi/energy_grid_consumption/L2:.* Grid_Energy_L2\
mqtt2server:e3dc/pvi/energy_grid_consumption/L3:.* Grid_Energy_L3\
mqtt2server:e3dc/pvi/energy_all/L1:.* All_Energy_L1\
mqtt2server:e3dc/pvi/energy_all/L2:.* All_Energy_L2\
mqtt2server:e3dc/pvi/energy_all/L3:.* All_Energy_L3\
mqtt2server:e3dc/solar/energy:.* Solar_Energy\
mqtt2server:e3dc/solar/power:.* Solar_Power\
mqtt2server:e3dc/pvi/energy_all/string_1:.* PVI_Energy_NW\
mqtt2server:e3dc/pvi/energy_all/string_2:.* PVI_Energy_SO\
mqtt2server:e3dc/pvi/power/string_2:.* PVI_SO\
mqtt2server:e3dc/pvi/power/string_1:.* PVI_NW\
mqtt2server:e3dc/ems/power_save:.* EMS_PowerSave\
mqtt2server:e3dc/reserve/percent:.* Reserve_Percent\
mqtt2server:e3dc/reserve/energy:.* Reserve_Energy\
mqtt2server:e3dc/reserve/max:.* Reserve_Max\
mqtt2server:e3dc/reserve/last_soc:.* Reserve_LastSOC\
mqtt2server:e3dc/battery/dcb/1/serial_code:.* Battery_Serial1\
mqtt2server:e3dc/battery/dcb/2/serial_code:.* Battery_Serial2\
mqtt2server:e3dc/battery/dcb/3/serial_code:.* Battery_Serial3\
mqtt2server:e3dc/battery/dcb/4/serial_code:.* Battery_Serial4\
mqtt2server:e3dc/battery/dcb/1/full_charge_capacity:.* Battery_FullCapacity1\
mqtt2server:e3dc/battery/dcb/2/full_charge_capacity:.* Battery_FullCapacity2\
mqtt2server:e3dc/battery/dcb/3/full_charge_capacity:.* Battery_FullCapacity3\
mqtt2server:e3dc/battery/dcb/4/full_charge_capacity:.* Battery_FullCapacity4\
mqtt2server:e3dc/battery/dcb/1/remaining_capacity:.* Battery_RemCapacity1\
mqtt2server:e3dc/battery/dcb/2/remaining_capacity:.* Battery_RemCapacity2\
mqtt2server:e3dc/battery/dcb/3/remaining_capacity:.* Battery_RemCapacity3\
mqtt2server:e3dc/battery/dcb/4/remaining_capacity:.* Battery_RemCapacity4\
mqtt2server:e3dc/battery/dcb/1/voltage:.* Battery_Voltage1\
mqtt2server:e3dc/battery/dcb/2/voltage:.* Battery_Voltage2\
mqtt2server:e3dc/battery/dcb/3/voltage:.* Battery_Voltage3\
mqtt2server:e3dc/battery/dcb/4/voltage:.* Battery_Voltage4\
mqtt2server:e3dc/battery/soc:.* Battery_SOC\
mqtt2server:e3dc/battery/specified_capacity:.* Battery_SpecCapacity\
mqtt2server:e3dc/battery/state:.* Battery_State\
mqtt2server:e3dc/battery/power:.* Battery_Power\
mqtt2server:e3dc/battery/dcb/1/current:.* Battery_Current1\
mqtt2server:e3dc/battery/dcb/2/current:.* Battery_Current2\
mqtt2server:e3dc/battery/dcb/3/current:.* Battery_Current3\
mqtt2server:e3dc/battery/dcb/4/current:.* Battery_Current4\
mqtt2server:e3dc/battery/energy/charge:.* Battery_EnergyCharge\
mqtt2server:e3dc/battery/energy/discharge:.* Battery_EnergyDischarge\
mqtt2server:e3dc/wallbox/power/L1:.* Wallbox_L1\
mqtt2server:e3dc/wallbox/power/L2:.* Wallbox_L2\
mqtt2server:e3dc/wallbox/power/L3:.* Wallbox_L3\
mqtt2server:e3dc/wallbox/number_phases:.* Wallbox_NumberPhases\
mqtt2server:e3dc/wallbox/plugged:.* Wallbox_Plugged\
mqtt2server:e3dc/wallbox/power/solar:.* Wallbox_SolarPower\
mqtt2server:e3dc/wallbox/power/total:.* Wallbox_TotalPower\
mqtt2server:e3dc/wallbox/energy/total:.* Wallbox_TotalEnergy\
mqtt2server:e3dc/wallbox/locked:.* Wallbox_Locked\
mqtt2server:e3dc/wallbox/battery_to_car:.* Wallbox_BatteryToCar\
mqtt2server:e3dc/wallbox/battery_before_car:.* Wallbox_BatteryBeforeCar\
mqtt2server:e3dc/wallbox/battery_discharge_until:.* Wallbox_DischargeUntil\
mqtt2server:e3dc/wallbox/disable_battery_at_mix_mode:.* Wallbox_BatteryMixMode\
mqtt2server:e3dc/wallbox/canceled:.* Wallbox_Canceled\
mqtt2server:e3dc/wallbox/suspended:.* Wallbox_Suspended\
mqtt2server:e3dc/wallbox/charging:.* Wallbox_Charging\
mqtt2server:e3dc/wallbox/soc:.* Wallbox_SOC\
mqtt2server:e3dc/wallbox/charging:.* Wallbox_Charging\
mqtt2server:e3dc/wallbox/max_current:.* Wallbox_MaxCurrent\
mqtt2server:e3dc/wallbox/sun_mode:.* Wallbox_SunMode\
mqtt2server:e3dc/wallbox/status:.* Wallbox_Status\
mqtt2server:e3dc/wallbox/key_state:.* Wallbox_KeyState\

attr e3dc_s10Pro room Strom
attr e3dc_s10Pro setList WB_Solar:solar:32,mix:32,stop e3dc/set/wallbox/control $EVTPART1\
WB_Phases:1,3 e3dc/set/wallbox/number_phases $EVTPART1\
WB_SunMode:true,false e3dc/set/wallbox/sun_mode $EVTPART1\
WB_Bat_Mix:true,false e3dc/set/wallbox/disable_battery_at_mix_mode $EVTPART1\
WB_Suspend:true,false e3dc/set/wallbox/suspended $EVTPART1\
BT_Charge: e3dc/set/manual_charge $EVTPART1\
E3_RefreshAllReadings:1 e3dc/set/force $EVTPART1
attr e3dc_s10Pro sortby 1
attr e3dc_s10Pro userReadings PVI_Energy_Total {ReadingsNum($name, "PVI_Energy_NW", 0) + ReadingsNum($name, "PVI_Energy_SO", 0)},\
Grid_Power_In {if (ReadingsNum($name, "Grid_Power", 0) < 0) {ReadingsNum($name, "Grid_Power", 0) * -1} else {0}},\
Grid_Power_Out {if (ReadingsNum($name, "Grid_Power", 0) > 0) {ReadingsNum($name, "Grid_Power", 0)} else {0}}

setstate e3dc_s10Pro E3_RefreshAllReadings
setstate e3dc_s10Pro 2026-07-19 18:07:20 All_Energy_L1 12974681
setstate e3dc_s10Pro 2026-07-19 18:07:20 All_Energy_L2 6656122
setstate e3dc_s10Pro 2026-07-19 18:07:20 All_Energy_L3 6961440
setstate e3dc_s10Pro 2025-01-26 15:57:43 Battery_Capacity 6553
setstate e3dc_s10Pro 2026-07-19 18:07:21 Battery_Current1 -0.30
setstate e3dc_s10Pro 2026-07-19 18:07:21 Battery_Current2 -0.30
setstate e3dc_s10Pro 2026-07-19 18:07:21 Battery_Current3 0.00
setstate e3dc_s10Pro 2026-07-19 18:07:21 Battery_Current4 0.00
setstate e3dc_s10Pro 2026-07-20 00:00:00 Battery_EnergyCharge 0
setstate e3dc_s10Pro 2026-07-20 00:00:00 Battery_EnergyDischarge 0
setstate e3dc_s10Pro 2026-07-19 16:43:51 Battery_FullCapacity1 50.30
setstate e3dc_s10Pro 2026-07-19 17:54:11 Battery_FullCapacity2 49.70
setstate e3dc_s10Pro 2026-07-19 15:42:50 Battery_FullCapacity3 52.60
setstate e3dc_s10Pro 2026-07-19 15:39:50 Battery_FullCapacity4 51.90
setstate e3dc_s10Pro 2026-07-19 18:07:20 Battery_Power 0
setstate e3dc_s10Pro 2026-07-19 18:05:51 Battery_RemCapacity1 49.60
setstate e3dc_s10Pro 2026-07-19 18:03:10 Battery_RemCapacity2 49.10
setstate e3dc_s10Pro 2026-07-19 18:05:01 Battery_RemCapacity3 52.50
setstate e3dc_s10Pro 2026-07-19 18:05:01 Battery_RemCapacity4 51.80
setstate e3dc_s10Pro 2026-07-19 16:00:30 Battery_SOC 100
setstate e3dc_s10Pro 2026-07-13 17:05:45 Battery_Serial1 202112260414
setstate e3dc_s10Pro 2026-07-13 17:05:45 Battery_Serial2 202112260412
setstate e3dc_s10Pro 2026-07-13 17:05:45 Battery_Serial3 202112260417
setstate e3dc_s10Pro 2026-07-13 17:05:45 Battery_Serial4 202112250528
setstate e3dc_s10Pro 2026-07-19 18:07:20 Battery_State FULL
setstate e3dc_s10Pro 2026-07-19 18:07:11 Battery_Voltage1 53.00
setstate e3dc_s10Pro 2026-07-19 18:07:11 Battery_Voltage2 53.00
setstate e3dc_s10Pro 2026-07-19 18:07:21 Battery_Voltage3 53.10
setstate e3dc_s10Pro 2026-07-19 18:07:21 Battery_Voltage4 53.10
setstate e3dc_s10Pro 2026-07-13 17:05:44 EMS_PowerSave true
setstate e3dc_s10Pro 2026-07-13 17:05:44 Grid_Energy_L1 195084
setstate e3dc_s10Pro 2026-07-18 06:00:03 Grid_Energy_L2 168416
setstate e3dc_s10Pro 2026-07-16 05:36:03 Grid_Energy_L3 169509
setstate e3dc_s10Pro 2026-07-19 18:07:20 Grid_Power -1131
setstate e3dc_s10Pro 2026-07-20 10:11:22 Grid_Power_In 1131
setstate e3dc_s10Pro 2026-07-20 10:11:22 Grid_Power_Out 0
setstate e3dc_s10Pro 2026-07-20 00:00:00 Grid_Today_EnergyIn 0
setstate e3dc_s10Pro 2026-07-20 00:00:00 Grid_Today_EnergyOut 0
setstate e3dc_s10Pro 2026-07-19 18:07:20 Home_Power 409
setstate e3dc_s10Pro 2026-07-20 09:26:24 IODev mqtt2server
setstate e3dc_s10Pro 2026-07-13 17:05:45 PM_0_Energy 0.00
setstate e3dc_s10Pro 2026-07-13 17:05:45 PM_1_Energy 0.00
setstate e3dc_s10Pro 2026-07-13 17:05:44 PM_Energy 0.00
setstate e3dc_s10Pro 2025-02-12 11:34:16 PM_Energy_L1 1315.14
setstate e3dc_s10Pro 2025-02-12 11:34:46 PM_Energy_L2 3391.53
setstate e3dc_s10Pro 2025-02-12 11:35:06 PM_Energy_L3 1164.45
setstate e3dc_s10Pro 2026-07-19 18:07:20 PM_Power 0
setstate e3dc_s10Pro 2025-02-12 11:36:20 PM_Voltage1 237.79
setstate e3dc_s10Pro 2026-07-19 18:07:20 PVI_Energy_NW 14810545
setstate e3dc_s10Pro 2026-07-19 18:07:20 PVI_Energy_SO 14862549
setstate e3dc_s10Pro 2026-07-20 10:11:22 PVI_Energy_Total 29673094
setstate e3dc_s10Pro 2026-07-19 18:07:20 PVI_NW 1042
setstate e3dc_s10Pro 2026-07-19 18:07:20 PVI_SO 501
setstate e3dc_s10Pro 2026-07-13 17:05:47 Reserve_Energy 0.00
setstate e3dc_s10Pro 2026-07-13 17:05:47 Reserve_LastSOC 0.0
setstate e3dc_s10Pro 2026-07-19 17:54:00 Reserve_Max 4812.80
setstate e3dc_s10Pro 2026-07-13 17:05:47 Reserve_Percent 0.00
setstate e3dc_s10Pro 2026-07-19 18:05:11 Solar_Energy 29.07
setstate e3dc_s10Pro 2026-07-19 18:07:20 Solar_Power 1540
setstate e3dc_s10Pro 2026-07-13 17:05:44 System_Peak 8640
setstate e3dc_s10Pro 2024-04-25 11:04:33 Wallbox_ActivePhases 7
setstate e3dc_s10Pro 2024-04-25 11:04:33 Wallbox_BatteryBeforeCar 0
setstate e3dc_s10Pro 2026-07-13 17:05:44 Wallbox_BatteryMixMode false
setstate e3dc_s10Pro 2024-04-25 11:04:33 Wallbox_BatteryToCar 0
setstate e3dc_s10Pro 2024-05-09 13:16:57 Wallbox_Canceled false
setstate e3dc_s10Pro 2026-07-19 16:25:40 Wallbox_Charging false
setstate e3dc_s10Pro 2024-04-25 11:04:33 Wallbox_DischargeUntil 90
setstate e3dc_s10Pro 2026-07-13 17:05:46 Wallbox_KeyState false
setstate e3dc_s10Pro 2026-07-19 16:25:40 Wallbox_L1 0
setstate e3dc_s10Pro 2026-07-13 17:05:46 Wallbox_L2 0
setstate e3dc_s10Pro 2026-07-13 17:05:46 Wallbox_L3 0
setstate e3dc_s10Pro 2026-07-13 17:05:47 Wallbox_Locked false
setstate e3dc_s10Pro 2026-07-13 17:05:47 Wallbox_MaxCurrent 32
setstate e3dc_s10Pro 2026-07-13 17:05:46 Wallbox_NumberPhases 1
setstate e3dc_s10Pro 2026-07-19 16:35:30 Wallbox_Plugged false
setstate e3dc_s10Pro 2026-07-13 17:05:46 Wallbox_SOC 0
setstate e3dc_s10Pro 2026-07-19 16:25:40 Wallbox_SolarPower 0
setstate e3dc_s10Pro 2026-07-19 16:35:30 Wallbox_Status 132
setstate e3dc_s10Pro 2026-07-13 17:05:47 Wallbox_SunMode true
setstate e3dc_s10Pro 2026-07-13 17:05:47 Wallbox_Suspended false
setstate e3dc_s10Pro 2026-07-19 16:25:30 Wallbox_TotalEnergy 151752
setstate e3dc_s10Pro 2026-07-19 16:25:40 Wallbox_TotalPower 0
setstate e3dc_s10Pro 2026-07-20 10:11:22 state E3_RefreshAllReadings

Server MQTT Traffic

09:32:10.226 r2m_1_rscp2mqtt_6a5dccf0 e3dc/grid/state IN
09:32:10.266 r2m_1_rscp2mqtt_6a5dccf0 e3dc/pm/power 0
09:32:10.266 r2m_1_rscp2mqtt_6a5dccf0 e3dc/pvi/energy/string_1 155
09:32:10.267 r2m_1_rscp2mqtt_6a5dccf0 e3dc/pvi/energy/string_2 132
09:32:10.267 r2m_1_rscp2mqtt_6a5dccf0 e3dc/pvi/energy_start/string_1 14816570
09:32:10.267 r2m_1_rscp2mqtt_6a5dccf0 e3dc/pvi/energy_start/string_2 14864090
09:32:10.267 r2m_1_rscp2mqtt_6a5dccf0 e3dc/solar/power 2138

Beta-User

Mach mal die ClientID-Teile aus der readingList.

Und (OT) so ein devStateIcon-Code sollte -v.a.  bei so vielen event-loops - in myUtils ausgelagert werden.
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Dirk070

Danke Dir für den Tipp! TOP!!!

Habe gerade mal nur eine Zeile geändert.

Von:
mqtt2server:e3dc/solar/power:.* Solar_Power
Auf:
e3dc/solar/power:.* Solar_Power
Dieser Wert wurde jetzt aktualisiert. Nur was hat sich denn geändert, das hat Monate wenn nicht Jahre so funktioniert.

OT: Ja, typisch gelaufen, klein angefangen und dann gewachsen. Muss ich wirklich mal ran, stimmt.