Hauptmenü

Neueste Beiträge

#1
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von Schlimbo - 06 Februar 2026, 09:09:33
Hi Stefan,

meine Anlage hat auch 2 Lüfter, im Anlagenschema der VITOTRONIC werden diese auch einzeln angezeigt, aber über die API bekomme ich nur einen Wert.
Habe gerade mal ziemlich Zeitgleich ein Bild der VITOTRONIC, deiner Grafik und ein Device List gemacht, um die Zuordnung besser zu erkenne.
(Aufgrund der Datenübermittlung zur API und zu FHEM laufen die Werte aber leicht auseinander)

Internals:
   DEF        xxxxxxxx xxx 120
   FUUID      67xxxxxxxxca-195xxxxxxxxxxxx2ax
   FVERSION   98_vitoconnect.pm:v1.1.1-s29593/2025-01-29
   NAME       vitoconnect
   NR         437
   Redirect_URI http://localhost:4200/
   STATE      last update: 2026-02-06 08:46:40
   TYPE       vitoconnect
   apiKey     xxxxxxxxx
   counter    0
   eventCount 2860
   intervall  120
   login      ok
   refresh_token xxxxxxxxxxxxxxxxxxxxxx
   timeout    15
   user       xxxxxxxxxx
   HELPER:
     PACKAGE    main
     VERSION    1.0.5
     VERSION_API unused
     VERSION_CTZ unused
     VERSION_ErrCodes unused
     VERSION_SMUtils 1.28.3
   OLDREADINGS:
   READINGS:
     2026-02-06 08:46:40   device.messages.errors.counter.d6.value 0
     2026-02-06 08:46:40   device.messages.logbook.entries VERDICHTER1, 182, Heizkreis, Inverter_DCbus_ripple, WAERMEPUMPE1, 41, 2026-02-06T08:35:36.000Z, PRIMAERQUELLE1, 120, Heizkreis, PRIMARY_IN, WAERMEPUMPE1, 20, 2026-02-06T08:33:36.000Z, SEK_PUMPE1, 120, Heizkreis, PRIMARY_IN, INTERN_HW_PUFFER, 100, 2026-02-06T08:33:36.000Z, KAELTEKR_UMKEHR, 2, Heizkreis, Inverter_Under_voltage, WAERMEPUMPE1, 0, 2026-02-06T07:14:51.000Z, KAELTEKR_UMKEHR, 4, Heizkreis, Inverter_Autotune_fault, WAERMEPUMPE1, 1, 2026-02-06T07:14:08.000Z
     2026-02-06 08:46:40   device.serial.value 7xxxxxxxxxxxxxxxx
     2026-02-06 08:46:40   heating.boiler.sensors.temperature.commonSupply.status notConnected
     2026-02-06 08:46:40   heating.boiler.serial.value 7xxxxxxxxxxxxxxxx
     2026-02-06 08:46:40   heating.buffer.sensors.temperature.main.status notConnected
     2026-02-06 08:46:40   heating.buffer.sensors.temperature.top.status connected
     2026-02-06 08:46:40   heating.buffer.sensors.temperature.top.value 28.9
     2026-02-06 08:46:40   heating.bufferCylinder.sensors.temperature.main.status notConnected
     2026-02-06 08:46:40   heating.bufferCylinder.sensors.temperature.top.status connected
     2026-02-06 08:46:40   heating.bufferCylinder.sensors.temperature.top.value 28.9
     2026-02-06 08:46:40   heating.burners.enabled
     2026-02-06 08:46:40   heating.circuits.1.active 1
     2026-02-06 08:46:40   heating.circuits.1.circulation.pump.status on
     2026-02-06 08:46:40   heating.circuits.1.frostprotection.status on
     2026-02-06 08:46:40   heating.circuits.1.heating.curve.shift 0
     2026-02-06 08:46:40   heating.circuits.1.heating.curve.slope 0.3
     2026-02-06 08:46:40   heating.circuits.1.heating.schedule.active 1
     2026-02-06 08:46:40   heating.circuits.1.heating.schedule.entries [{"mon":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"tue":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"wed":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"thu":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"fri":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"sat":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"sun":{"mode":"normal","start":"00:00","end":"24:00","position":0}}]
     2026-02-06 08:46:40   heating.circuits.1.name
     2026-02-06 08:46:40   heating.circuits.1.name.name
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.active.value dhwAndHeatingCooling
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.cooling.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.dhw.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.dhwAndHeatingCooling.active 1
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.forcedNormal.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.forcedReduced.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.normalStandby.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.modes.standby.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.active.value normal
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.comfort.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.comfort.demand unknown
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.comfort.temperature 20
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.eco.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.eco.temperature 23
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.fixed.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.normal.active 1
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.normal.demand unknown
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.normal.temperature 23
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.reduced.active 0
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.reduced.demand unknown
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.reduced.temperature 16
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.screedDrying.heatpump.useApproved 0
     2026-02-06 08:46:40   heating.circuits.1.operating.programs.standby.active 0
     2026-02-06 08:46:40   heating.circuits.1.sensors.temperature.supply.status connected
     2026-02-06 08:46:40   heating.circuits.1.sensors.temperature.supply.value 29.7
     2026-02-06 08:46:40   heating.circuits.1.temperature.levels.max 45
     2026-02-06 08:46:40   heating.circuits.1.temperature.levels.min 15
     2026-02-06 08:46:40   heating.circuits.1.temperature.value 30.2
     2026-02-06 08:46:40   heating.circuits.1.type heatingCircuit
     2026-02-06 08:46:40   heating.circuits.enabled 1
     2026-02-06 08:46:40   heating.circuits.internal
     2026-02-06 08:46:40   heating.compressors.0.active 1
     2026-02-06 08:46:40   heating.compressors.0.phase heating
     2026-02-06 08:46:40   heating.compressors.0.power.value 16
     2026-02-06 08:46:40   heating.compressors.0.sensors.power.status connected
     2026-02-06 08:46:40   heating.compressors.0.sensors.power.value 63
     2026-02-06 08:46:40   heating.compressors.0.sensors.pressure.inlet.status connected
     2026-02-06 08:46:40   heating.compressors.0.sensors.pressure.inlet.value 6.4
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.ambient.status connected
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.ambient.value 16.4
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.inlet.status connected
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.inlet.value -0.2
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.outlet.status connected
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.outlet.value 64.4
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.overheat.status connected
     2026-02-06 08:46:40   heating.compressors.0.sensors.temperature.overheat.value 6.7
     2026-02-06 08:46:40   heating.compressors.0.statistics.hours 2599.1
     2026-02-06 08:46:40   heating.compressors.0.statistics.load.hoursLoadClassFive 419
     2026-02-06 08:46:40   heating.compressors.0.statistics.load.hoursLoadClassFour 881
     2026-02-06 08:46:40   heating.compressors.0.statistics.load.hoursLoadClassOne 232
     2026-02-06 08:46:40   heating.compressors.0.statistics.load.hoursLoadClassThree 819
     2026-02-06 08:46:40   heating.compressors.0.statistics.load.hoursLoadClassTwo 174
     2026-02-06 08:46:40   heating.compressors.0.statistics.starts 3613
     2026-02-06 08:46:40   heating.compressors.enabled 0
     2026-02-06 08:46:40   heating.condensors.0.sensors.temperature.subcooling.status notConnected
     2026-02-06 08:46:40   heating.configuration.buffer.temperature.max.value 60
     2026-02-06 08:46:40   heating.configuration.dhw.temperature.dhwCylinder.max.value 60
     2026-02-06 08:46:40   heating.configuration.dhw.temperature.hotWaterStorage.max.value 60
     2026-02-06 08:46:40   heating.configuration.dhwHeater.useApproved 0
     2026-02-06 08:46:40   heating.configuration.heatingRod.dhw.useApproved 0
     2026-02-06 08:46:40   heating.configuration.heatingRod.heating.useApproved 0
     2026-02-06 08:46:40   heating.configuration.smartGrid.heatingRod.approvedLevel 3
     2026-02-06 08:46:40   heating.configuration.temperature.outside.DampingFactor.value 180
     2026-02-06 08:46:40   heating.controller.serial.value [VUC]
     2026-02-06 08:46:40   heating.coolingCircuits.0.type.value VC 200-S Emerson
     2026-02-06 08:46:40   heating.cop.cooling.value 6.1
     2026-02-06 08:46:40   heating.cop.dhw.value 3.1
     2026-02-06 08:46:40   heating.cop.green.value 0
     2026-02-06 08:46:40   heating.cop.heating.value 3.7
     2026-02-06 08:46:40   heating.cop.total.value 3.4
     2026-02-06 08:46:40   heating.device.mainECU.runtime 47375310
     2026-02-06 08:46:40   heating.dhw.active 1
     2026-02-06 08:46:40   heating.dhw.charging.active 0
     2026-02-06 08:46:40   heating.dhw.configuration.temperature.dhwCylinder.max.value 60
     2026-02-06 08:46:40   heating.dhw.oneTimeCharge.active 0
     2026-02-06 08:46:40   heating.dhw.pumps.circulation.schedule.active 1
     2026-02-06 08:46:40   heating.dhw.pumps.circulation.schedule.entries [{"mon":{"mode":"on","start":"00:00","end":"24:00","position":0}},{"tue":{"mode":"on","start":"00:00","end":"24:00","position":0}},{"wed":{"mode":"on","start":"00:00","end":"24:00","position":0}},{"thu":{"mode":"on","start":"00:00","end":"24:00","position":0}},{"fri":{"mode":"on","start":"00:00","end":"24:00","position":0}},{"sat":{"mode":"on","start":"00:00","end":"24:00","position":0}},{"sun":{"mode":"on","start":"00:00","end":"24:00","position":0}}]
     2026-02-06 08:46:40   heating.dhw.pumps.circulation.status on
     2026-02-06 08:46:40   heating.dhw.schedule.active 1
     2026-02-06 08:46:40   heating.dhw.schedule.entries [{"mon":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"tue":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"wed":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"thu":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"fri":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"sat":{"mode":"normal","start":"00:00","end":"24:00","position":0}},{"sun":{"mode":"normal","start":"00:00","end":"24:00","position":0}}]
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.dhwCylinder.bottom.status notConnected
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.dhwCylinder.status connected
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.dhwCylinder.top.status connected
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.dhwCylinder.top.value 46.1
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.dhwCylinder.value 46.1
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.hotWaterStorage.bottom.status notConnected
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.hotWaterStorage.status connected
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.hotWaterStorage.top.status connected
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.hotWaterStorage.top.value 46.1
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.hotWaterStorage.value 46.1
     2026-02-06 08:46:40   heating.dhw.sensors.temperature.outlet.status notConnected
     2026-02-06 08:46:40   heating.dhw.status on
     2026-02-06 08:46:40   heating.dhw.temperature.hysteresis.switchOffValue 5
     2026-02-06 08:46:40   heating.dhw.temperature.hysteresis.switchOnValue 5
     2026-02-06 08:46:40   heating.dhw.temperature.hysteresis.value 5
     2026-02-06 08:46:40   heating.dhw.temperature.main.value 50
     2026-02-06 08:46:40   heating.dhw.temperature.temp2.value 55
     2026-02-06 08:46:40   heating.evaporators.0.sensors.temperature.liquid.status connected
     2026-02-06 08:46:40   heating.evaporators.0.sensors.temperature.liquid.value 32.7
     2026-02-06 08:46:40   heating.evaporators.0.sensors.temperature.overheat.status connected
     2026-02-06 08:46:40   heating.evaporators.0.sensors.temperature.overheat.value 3.8
     2026-02-06 08:46:40   heating.heatingRod.runtime.levelOne 268
     2026-02-06 08:46:40   heating.heatingRod.runtime.levelTwo 269
     2026-02-06 08:46:40   heating.operating.programs.holiday.active 0
     2026-02-06 08:46:40   heating.operating.programs.holiday.end
     2026-02-06 08:46:40   heating.operating.programs.holiday.start
     2026-02-06 08:46:40   heating.primaryCircuit.sensors.rotation.status connected
     2026-02-06 08:46:40   heating.primaryCircuit.sensors.rotation.value 91
     2026-02-06 08:46:40   heating.primaryCircuit.sensors.temperature.return.status notConnected
     2026-02-06 08:46:40   heating.primaryCircuit.sensors.temperature.supply.status connected
     2026-02-06 08:46:40   heating.primaryCircuit.sensors.temperature.supply.value 1.2
     2026-02-06 08:46:40   heating.secondaryCircuit.sensors.temperature.supply.status connected
     2026-02-06 08:46:40   heating.secondaryCircuit.sensors.temperature.supply.value 33.7
     2026-02-06 08:46:40   heating.sensors.pressure.hotGas.status connected
     2026-02-06 08:46:40   heating.sensors.pressure.hotGas.value 21.2
     2026-02-06 08:46:40   heating.sensors.pressure.suctionGas.status connected
     2026-02-06 08:46:40   heating.sensors.pressure.suctionGas.value 6.4
     2026-02-06 08:46:40   heating.sensors.temperature.hotGas.status connected
     2026-02-06 08:46:40   heating.sensors.temperature.hotGas.value 64.4
     2026-02-06 08:46:40   heating.sensors.temperature.liquidGas.status connected
     2026-02-06 08:46:40   heating.sensors.temperature.liquidGas.value 32.7
     2026-02-06 08:46:40   heating.sensors.temperature.outside.status connected
     2026-02-06 08:46:40   heating.sensors.temperature.outside.value 1.4
     2026-02-06 08:46:40   heating.sensors.temperature.return.status connected
     2026-02-06 08:46:40   heating.sensors.temperature.return.value 28.5
     2026-02-06 08:46:40   heating.sensors.temperature.suctionGas.status connected
     2026-02-06 08:46:40   heating.sensors.temperature.suctionGas.value -0.2
     2026-02-06 08:46:40   state           last update: 2026-02-06 08:46:40
     2026-02-06 08:46:40   ur_HK-Solltemperatur_Mode 1
     2026-02-06 08:46:40   ur_HK2-Betriebsart_nr 4
     2026-02-06 08:46:40   ur_HK2-Solltemperatur 23
     2026-02-06 08:46:40   ur_error_code   0
     2026-02-06 08:46:40   ur_error_level  0
     2026-02-06 08:46:40   ur_error_severity normal operation
     2026-02-06 08:46:40   ur_ventilation.active.level 2
     2026-02-06 08:46:40   ur_ventilation.active.volumeFlow 130
     2026-02-06 08:46:40   ventilation.active 1
     2026-02-06 08:46:40   ventilation.heatExchanger.frostprotection.status off
     2026-02-06 08:46:40   ventilation.operating.modes.active.value ventilation
     2026-02-06 08:46:40   ventilation.operating.modes.standard.active 0
     2026-02-06 08:46:40   ventilation.operating.modes.standby.active 0
     2026-02-06 08:46:40   ventilation.operating.modes.ventilation.active 1
     2026-02-06 08:46:40   ventilation.operating.programs.active.value levelTwo
     2026-02-06 08:46:40   ventilation.operating.state.demand ventilation
     2026-02-06 08:46:40   ventilation.operating.state.level levelTwo
     2026-02-06 08:46:40   ventilation.operating.state.reason schedule
     2026-02-06 08:46:40   ventilation.quickmodes.comfort.active 0
     2026-02-06 08:46:40   ventilation.quickmodes.eco.active 0
     2026-02-06 08:46:40   ventilation.quickmodes.holiday.active 0
     2026-02-06 08:46:40   ventilation.quickmodes.holiday.end
     2026-02-06 08:46:40   ventilation.quickmodes.holiday.start
     2026-02-06 08:46:40   ventilation.schedule.active 1
     2026-02-06 08:46:40   ventilation.schedule.entries [{"mon":{"mode":"levelTwo","start":"00:00","end":"24:00","position":0}},{"tue":{"mode":"levelTwo","start":"00:00","end":"24:00","position":0}},{"wed":{"mode":"levelTwo","start":"00:00","end":"24:00","position":0}},{"thu":{"mode":"levelTwo","start":"00:00","end":"24:00","position":0}},{"fri":{"mode":"levelTwo","start":"00:00","end":"24:00","position":0}},{"sat":{"mode":"levelTwo","start":"00:00","end":"24:00","position":0}},{"sun":{"mode":"levelTwo","start":"00:00","end":"24:00","position":0}}]
     2026-02-06 08:46:40   ventilation.volumeFlow.current.input.value 235
     2026-02-06 08:46:40   ventilation.volumeFlow.current.output.value 225
   devices:
     763xxxxxxxxx:
       gatewayType VitoconnectOPTO2
       installationId xxxxxx
       version    2.51.5.0
Attributes:
   event-min-interval ur_HK2-Solltemperatur:3600,heating.sensors.temperature.outside.value:3600,heating.circuits.1.temperature.value:3600
   event-on-change-reading .*
   loxone     ja
   oldreadings ur_error_severity
   room       Viessmann
   userReadings ur_HK2-Betriebsart_nr {
my $Betriebsart = ReadingsVal($name, 'heating.circuits.1.operating.modes.active.value', '0');
my $Betriebsart_nr = 0;
$Betriebsart_nr = 1 if($Betriebsart eq "standby");
$Betriebsart_nr = 2 if($Betriebsart eq "dhw");
$Betriebsart_nr = 3 if($Betriebsart eq "dhwAndHeating");
$Betriebsart_nr = 4 if($Betriebsart eq "dhwAndHeatingCooling");
return $Betriebsart_nr
},
ur_HK2-Solltemperatur {
my $Solltemperatur_normal = ReadingsVal($name, 'heating.circuits.1.operating.programs.normal.temperature', '0');
my $Solltemperatur_eco = ReadingsVal($name, 'heating.circuits.1.operating.programs.eco.temperature', '0');
my $Solltemperatur_comfort = ReadingsVal($name, 'heating.circuits.1.operating.programs.comfort.temperature', '0');
my $Solltemperatur_reduziert = ReadingsVal($name, 'heating.circuits.1.operating.programs.reduced.temperature', '0');
my $Solltemperatur_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.normal.active', '0');
my $Solltemperatur_eco_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.eco.active', '0');
my $Solltemperatur_comfort_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.comfort.active', '0');
my $Solltemperatur_reduziert_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.reduced.active', '0');
my $Solltemperatur = "unknown";
$Solltemperatur = $Solltemperatur_normal if ($Solltemperatur_aktiv == 1);
$Solltemperatur = $Solltemperatur_eco if ($Solltemperatur_eco_aktiv == 1);
$Solltemperatur = $Solltemperatur_comfort if ($Solltemperatur_comfort_aktiv == 1);
$Solltemperatur = $Solltemperatur_reduziert if ($Solltemperatur_reduziert_aktiv == 1);
return $Solltemperatur
},
ur_HK-Solltemperatur_Mode {
my $Solltemperatur_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.normal.active', '0');
my $Solltemperatur_eco_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.eco.active', '0');
my $Solltemperatur_comfort_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.comfort.active', '0');
my $Solltemperatur_reduziert_aktiv = ReadingsVal($name, 'heating.circuits.1.operating.programs.reduced.active', '0');
my $Mode = 0;
$Mode = 1 if ($Solltemperatur_aktiv == 1);
$Mode = 2 if ($Solltemperatur_eco_aktiv == 1);
$Mode = 3 if ($Solltemperatur_comfort_aktiv == 1);
$Mode = 4 if ($Solltemperatur_reduziert_aktiv == 1);
return $Mode
},
ur_ventilation.active.level {
my $level = 0;
$level = 0 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelOff");
$level = 1 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelOne");
$level = 2 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelTwo");
$level = 3 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelTree");
$level = 4 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelFore");
return $level
},
ur_ventilation.active.volumeFlow {
my $level = 0;
$level = 0 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelOff");
$level = 1 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelOne");
$level = 2 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelTwo");
$level = 3 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelTree");
$level = 4 if (ReadingsVal($name, 'ventilation.operating.state.level', '0') eq "levelFore");
my $Level0volumeFlow = ReadingsVal($name, 'ventilation.operating.programs.standby.volumeFlow', '0');
my $Level1volumeFlow = ReadingsVal($name, 'ventilation.operating.programs.levelOne.volumeFlow', '0');
my $Level2volumeFlow = ReadingsVal($name, 'ventilation.operating.programs.levelTwo.volumeFlow', '0');
my $Level3volumeFlow = ReadingsVal($name, 'ventilation.operating.programs.levelThree.volumeFlow', '0');
my $Level4volumeFlow = ReadingsVal($name, 'ventilation.operating.programs.levelFour.volumeFlow', '0');
$Level0volumeFlow = 0;
$Level1volumeFlow = 50;
$Level2volumeFlow = 130;
$Level3volumeFlow = 180;
$Level4volumeFlow = 235;
my $volumeFlow = 0;
$volumeFlow = $Level0volumeFlow if($level == 0);
$volumeFlow = $Level1volumeFlow if($level == 1);
$volumeFlow = $Level2volumeFlow if($level == 2);
$volumeFlow = $Level3volumeFlow if($level == 3);
$volumeFlow = $Level4volumeFlow if($level == 4);
return $volumeFlow
},
ur_error_code {
  my $raw = ReadingsVal($name, 'device.messages.errors.raw.entries', '');
  return "0" if ($raw eq "");        # Falls leer, gib 0 zurück

  # Zerlege den String an den Kommas (mit optionalen Leerzeichen)
  my @fields = split(/,\s*/, $raw);
 
  # Das zweite Element (Index 1) enthält den Fehlercode, ansonsten 0
  my $code = defined($fields[1]) && ($fields[1] ne "") ? $fields[1] : "0";
 
  return $code;
},
ur_error_severity {
  my $raw = ReadingsVal($name, 'device.messages.errors.raw.entries', '');
  return "normal operation" if ($raw eq "");
  my @fields = split(/,\s*/, $raw);
  return defined($fields[2]) && ($fields[2] ne "") ? $fields[2] : "normal operation";
},
ur_error_level {
  my $raw = ReadingsVal($name, 'device.messages.errors.raw.entries', '');
  return "0" if ($raw eq "");
  my @fields = split(/,\s*/, $raw);
  my $severity = defined($fields[2]) ? $fields[2] : "";
  if ($severity eq "note") {
    return "1";
  }
  elsif ($severity eq "warning") {
    return "2";
  }
  elsif ($severity eq "error") {
    return "3";
  }
  elsif ($severity eq "criticalError") {
    return "4";
  }
  else {
    return "5";
  }
}

   vitoconnect_installationID xxxxxx
   vitoconnect_raw_readings 1
   vitoconnect_serial 7xxxxxxxxxxxxxxxx
   vitoconnect_showKaeltekreislauf 1

Gruß
Schlimbo
#2
FRITZ!Box / Aw: Keine stabile FRITZBOX Ver...
Letzter Beitrag von VB90 - 06 Februar 2026, 08:37:20
ich habe aktuell ähnliche Probleme.
Mein fhem läuft auf einem LXC in Proxmox auf einem HP EliteDesk. Also keinerlei RPi-Bezug.
Unregelmäßig aber nachvollziehbar geht die Auslastung des RAM steil nach oben. fhem laggt dann bis zur Unbedienbarkeit.
Ein Neustart bringt Abhilfe, jedoch nicht auf Dauer.

Zeitgleich sind im fhem-log Einträge mit FRITZBOX Bezug. Allerdings ebenfalls nur "500"-er Einträge.
Allerdings führt das Ganze wohl auch dazu, das die Netzwerk-Verbindung komplett in die Brüche geht.
Andere Abfragen ins LAN, Nachrichten vom Mosquitto etc. funktionieren auch nicht.

Stellt sich die Frage, was is Henne, was ist Ei ;)

Aktuell nutze ich die aktuelle Labor-Firmware der FB 7690.
Ich habe jetzt alle FRITZBOX-Geräte mal im fhem deaktiviert und will beobachten wie sich fhem verhält.
Bleibt es stabil, werde ich zuerst die Repeater aktivieren.

vb
#3
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von peterboeckmann - 06 Februar 2026, 08:30:16
Hallo Heiko,

gestern war wettertechnisch ein besonderer Tag. Die Vorhersage hatte den ganzen Tag Schneefall eingeplant, der aber erst abends hier ankam.
Trotzdem der Vollständigkeit halber hier mein Diagramm von gestern:
Du darfst diesen Dateianhang nicht ansehen.

Das einzig auffällige an der gestrichelten Linie (Forecast bis jetzt) sind die beiden senkrechten Abstürze, einmal um 10:48 Uhr und einmal um 14:54 Uhr.
Die kann ich mir nur damit erklären, dass zu den Zeitpunkten die Prognose für die jeweils aktuelle Stunde (11 bzw. 15) nach unten korrigiert wurde.

Ansonsten warten wir mal wieder auf ein Wetter, das besser zur Prognose passt.

Viele Grüße,
Peter
#4
TabletUI / [FTUI3] @click, button und lok...
Letzter Beitrag von Salvi5 - 06 Februar 2026, 08:23:54
Moin.
Ich hätte gern mit einem Klick auf
@click="swiper1.value = 'fc0_'", welches bereits funktioniert, zusätzlich noch der lokalen Variable locale:day den Wert fc0_ zugewiesen.
Wenn das über @click nicht funktioniert, baue ich auch um auf ftui-button, aber ich finde seit gestern keine Lösung, weder für die button-variante, noch für @click. Kann mir mal bitte wer auf die Sprünge helfen?

Gruß Mike

EDIT: ich meine natürlich local:day
#5
Anfängerfragen / Aw: [gelöst] aktuelles Logfile...
Letzter Beitrag von KNUT345 - 06 Februar 2026, 08:09:58
Problem gelöst.
Es war die SD-Karte.
Ich habe (noch einmal testweise) die Karte kopiert
und mit der neuen Karte läuft alles wieder wie gewohnt.

Nichts desto trotz.
Neu Aufsetzen werde ich zeitnah einplanen.

Danke für eure Tipps und Grüße
Knut
#6
Automatisierung / Aw: [98_monitoring] - Support ...
Letzter Beitrag von Beta-User - 06 Februar 2026, 08:03:41
Zitat von: Gernott am 05 Februar 2026, 20:15:58Hat das auch schon jemand so beobachtet?
Jein*.

Meine Vermutung: Dei beiden monitoring-Instanzen haben "das Fass zum Überlaufen" gebracht. In der ".*:xy"-Fassung für die add- und remove-devspec wird kein NOTIFYDEF ermittelt, so dass diese beiden Instanzen einfach alle Events auswerten müssen, was etwas ineffizienter ist, wie wenn das besser eingegrenzt ist.
Sind es tatsächlich viele Events (v.a., wenn es keine Event-Stapel (bulk-updates) sind, kann das schon dazu führen, dass der PI besser ausgelastet ist, und -v.a.- dann anfängt zu swappen. In dem Moment ist es mehr oder weniger vorbei mit lustig...

Das hätte dann aber weniger mit "monitoring" zu tun, sondern würde genauso auftreten, wenn du ein paar "schlechte" notify dazu packen würdest oder sonst einfach das System weiter ausbaust.  (*Jein=Das hatten wir in der Vergangenheit häufiger, allerdings nicht speziell mit monitoring, siehe der weiter unten verlinkte "Performance-Problem-Thread").

Hast du denn "event-lastige" Neuzugänge im System? (Ich hatte z.B. deutlich mehr Events nach dem Umbau von deconz/HUE.* auf zigbee2mqtt wegen diverser Aktoren mit Messfunktion, die sekündlich (viele) Werte gesendet haben).
Dazu ein paar Devices, die forks erzeugen (alte PRESENCE-ping?) oä.?

Sonst müßte ich mal in den Code schauen (und die commandref "NOTIFYDEF-freundlicher" überarbeiten)...
#7
FHEM Code changes / Revision 30818: controls_fhem....
Letzter Beitrag von System - 06 Februar 2026, 07:50:25
Revision 30818: controls_fhem.txt: fhemupdate checkin

controls_fhem.txt: fhemupdate checkin

Source: Revision 30818: controls_fhem.txt: fhemupdate checkin
#8
Sonstige Systeme / Aw: Entwicklungs-Thread Modul ...
Letzter Beitrag von musicnrw - 06 Februar 2026, 06:37:31
Sorry, ich bin wohl zu blöd. Was heisst denn "Das Attribut mode UND das Profil auf dem Shelly (via Weboberfläche oder ShellyApp) müssen BEIDE manuell gesetzt werden, so dass sie gleich sind." ?
Konkret: ich habe das Attribute "mode" gesetzt auf "shellyplusrgbwpm". Und wo in der Weboberfläche des Shelly muss ich jetzt welchen Wert ebenfalls auf "shellyplusrgbwpm" setzen, also welches Eingabefeld unter welchem Menüpunkt der Oberfläche?
#9
Multimedia / Aw: [Neues Modul] BOSE SoundTo...
Letzter Beitrag von Prof. Dr. Peter Henning - 06 Februar 2026, 04:26:21
Insbesondere, dies vielleicht hier zur Diskussion:

Ich betreibe seit vielen Jahren eine gepatchte Version des Moduls. Die kennt einen Befehl "set ... origin <string>".

Warum?

In der Originalversion kann man mit "playTrack" suchen lassen nach Titel, Album, Künstler (siehe https://forum.fhem.de/index.php?topic=46838.msg594029#msg594029). Aber eben keine Playlists, und man kann auch nicht nach Ordnern suchen.

Typischerweise sind auch klassische Musikstücke selten mit z.B. "artist=Johann Sebastian Bach" gekennzeichnet, sondern enthalten den Namen des Orchesters, oder des tatsächlich spielenden Künstlers. Darum gibt es bei mir ein Zusatzprogramm, das solche Suchen ermöglicht (stelle ich gerne zur Verfügung).

Um dieses Zusatzprogramm aufzurufen, brauche ich natürlich ein Event und übergebe dann Daten, Wenn ich meiner Spracherkennung sage "Spiele im Wohnzimmer Musik von Bach", saugt die Spracherkennung zunächst einmal daraus das Zieldevice (meine ST300 steht im Wohnzimmer), und liefert dann einen Befehl an dieses Device ab, nämlich "set ... origin Bach".

"origin" heißt das, weil eben "source" im Bose-Universum schon für die Hardware-Schnittstelle verwendet wird.

Im Beispiel wird jedenfalls dann die Funktion originHandler(<device>,"Bach") gerufen. Die sucht im Verzeichnisbaum (eben nicht per DLNA!), ob ein Ordner mit dem Teil-Namen "Bach" existiert (und sogar, wenn mehrere Unterverzeichnisse vorhanden sind, ein zufällig ausgewähltes davon), erzeugt daraus eine temporäre Playlist und setzt dann Sekundärbefehle an das Device ab.

Das ist alles optional, die neue Version des Moduls wird eben nur den Mechanismus enthalten, mit "set ... origin <string>" eine externe Funktionm aufzurufen.

LG

pah
#10
Heizungssteuerung/Raumklima / Aw: Vitoconnect - Verbesserte ...
Letzter Beitrag von stefanru - 06 Februar 2026, 00:27:31
Hi Schlimbo,

wow Vielen Dank!
Da habt ihr ja eine völlig andere Grafik als bei den One Base Geräten

Ich werde versuchen deine Readings bei mir einzubauen.
Dann schauen wir mal wie das aussieht.
Ich schaue wie ich dazu komme.

Hat deine Anlage nur einen Fan? Oder auch zwei?

Kannst du mir eventuell noch ein Bild von meiner jetzigen Grafik bei dir schicken?

Gruß,
Stefan