hallo,
wenn ich im webif eine raumansicht mit readingsgroup öffne, zeigt mir performancemonitor (seit heute?) ständig freezes an (1-6 sek), die wohl entstehen, sobald sich die dargestellten werte ändern (longpoll). nach dem schliessen der seite ist das phänomen wieder verschwunden. seltsam finde ich allerdings, dass zu den von performancemonitor gemeldeten freeze-zeitpunkten keine entsprechenden aussetzer im log zu finden sind. so als würde performancemonitor selber gefreezed und nicht fhem.
2015.09.01 19:21:24.537 1: Perfmon: possible freeze starting at 19:21:23, delay is 1.536
2015.09.01 19:22:18.069 1: Perfmon: possible freeze starting at 19:22:17, delay is 1.068
2015.09.01 19:23:07.480 1: Perfmon: possible freeze starting at 19:23:06, delay is 1.479
2015.09.01 19:23:24.186 1: Perfmon: possible freeze starting at 19:23:23, delay is 1.185
2015.09.01 19:23:28.082 1: Perfmon: possible freeze starting at 19:23:27, delay is 1.082
2015.09.01 19:24:14.900 1: Perfmon: possible freeze starting at 19:24:13, delay is 1.899
2015.09.01 19:26:11.620 1: Perfmon: possible freeze starting at 19:26:10, delay is 1.619
2015.09.01 19:26:25.266 1: Perfmon: possible freeze starting at 19:26:24, delay is 1.266
2015.09.01 19:26:49.480 1: Perfmon: possible freeze starting at 19:26:48, delay is 1.479
2015.09.01 19:28:43.197 1: Perfmon: possible freeze starting at 19:28:42, delay is 1.197
2015.09.01 19:29:09.944 1: Perfmon: possible freeze starting at 19:29:07, delay is 2.943
2015.09.01 19:29:28.402 1: Perfmon: possible freeze starting at 19:29:27, delay is 1.402
2015.09.01 19:32:28.711 1: Perfmon: possible freeze starting at 19:32:27, delay is 1.71
2015.09.01 19:34:20.023 1: Perfmon: possible freeze starting at 19:34:19, delay is 1.022
2015.09.01 19:34:28.395 1: Perfmon: possible freeze starting at 19:34:24, delay is 4.392
2015.09.01 19:34:31.282 1: Perfmon: possible freeze starting at 19:34:30, delay is 1.282
2015.09.01 19:35:17.308 1: Perfmon: possible freeze starting at 19:35:16, delay is 1.307
2015.09.01 19:37:06.413 1: Perfmon: possible freeze starting at 19:37:05, delay is 1.413
2015.09.01 19:37:43.116 1: Perfmon: possible freeze starting at 19:37:42, delay is 1.115
2015.09.01 19:37:59.557 1: Perfmon: possible freeze starting at 19:37:57, delay is 2.556
2015.09.01 19:38:01.123 1: Perfmon: possible freeze starting at 19:38:00, delay is 1.122
2015.09.01 19:38:37.876 1: Perfmon: possible freeze starting at 19:38:34, delay is 3.875
2015.09.01 19:38:44.548 1: Perfmon: possible freeze starting at 19:38:38, delay is 6.547
hier mal ein log mit verbose=5. am ende die performance monitor meldung.
2015.09.01 16:08:46.870 5: HMLAN/RAW: /E83765A,0000,17BA000E,FF,FFB2,71A27083765A1ACE1F00A85A275500005CC60708
2015.09.01 16:08:46.873 5: HMLAN_Parse: hmlan1 R:E83765A stat:0000 t:17BA000E d:FF r:FFB2 m:71 A270 83765A 1ACE1F 00A85A275500005CC60708
2015.09.01 16:08:46.876 5: hmlan1 dispatch A1471A27083765A1ACE1F00A85A275500005CC60708::-78:hmlan1
2015.09.01 16:08:46.891 5: HMLAN: Skip ACK
2015.09.01 16:08:46.894 5: CUL_HM Wetter.Nord protEvent:CMDs_done
2015.09.01 16:08:46.896 5: CUL_HM Wetter.Nord sent ACK:2
2015.09.01 16:08:46.919 5: Triggering Wetter.Nord (7 changes)
2015.09.01 16:08:46.921 5: Notify loop for Wetter.Nord humidity: 90
2015.09.01 16:08:46.929 5: statistics my: Notify.261 Notification of 'Wetter.Nord' received. Device not monitored.
2015.09.01 16:08:47.073 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.074 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:47.080 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.217 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.219 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:47.224 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.314 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.316 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:47.322 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.446 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.448 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:47.453 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.545 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.546 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:47.552 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.645 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.647 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:47.655 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.753 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.755 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:47.760 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.853 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.855 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:47.860 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:47.954 5: Triggering myTemp (1 changes)
2015.09.01 16:08:47.956 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:47.961 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.085 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.086 5: Notify loop for myTemp Wetter.Nord.temperature: <div style="color:#FCB200">16.8 °C</div>
2015.09.01 16:08:48.091 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.190 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.191 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:48.197 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.291 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.293 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:48.298 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.390 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.392 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:48.398 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.498 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.500 5: Notify loop for myTemp Wetter.Nord.temperature: <div style="color:#FCB200">16.8 °C</div>
2015.09.01 16:08:48.505 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.602 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.603 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:48.609 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.703 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.705 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:48.711 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.805 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.806 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:48.812 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:48.914 5: Triggering myTemp (1 changes)
2015.09.01 16:08:48.916 5: Notify loop for myTemp Wetter.Nord.temperature: <div style="color:#FCB200">16.8 °C</div>
2015.09.01 16:08:48.921 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.017 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.019 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:49.024 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.117 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.119 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:49.123 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.219 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.221 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:49.226 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.351 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.352 5: Notify loop for myTemp Wetter.Nord.temperature: <div style="color:#FCB200">16.8 °C</div>
2015.09.01 16:08:49.358 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.453 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.455 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:49.460 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.550 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.552 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:49.558 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.650 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.652 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:49.657 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.750 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.753 5: Notify loop for myTemp Wetter.Nord.absFeuchte: 12.9 g/m³
2015.09.01 16:08:49.759 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.881 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.883 5: Notify loop for myTemp Wetter.Nord.temperature: <div style="color:#FCB200">16.8 °C</div>
2015.09.01 16:08:49.887 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:49.983 5: Triggering myTemp (1 changes)
2015.09.01 16:08:49.985 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:49.990 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.082 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.083 5: Notify loop for myTemp Wetter.Nord.dewpoint: <div style="color:orange">15.2 °C</div>
2015.09.01 16:08:50.089 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.183 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.185 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:50.190 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.291 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.294 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:50.299 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.391 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.393 5: Notify loop for myTemp Wetter.Nord.absFeuchte: 12.9 g/m³
2015.09.01 16:08:50.398 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.494 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.496 5: Notify loop for myTemp Wetter.Nord.temperature: <div style="color:#FCB200">16.8 °C</div>
2015.09.01 16:08:50.501 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.596 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.598 5: Notify loop for myTemp Wetter.Nord.luminosity: 238
2015.09.01 16:08:50.603 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.694 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.695 5: Notify loop for myTemp Wetter.Nord.dewpoint: <div style="color:orange">15.2 °C</div>
2015.09.01 16:08:50.700 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.795 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.797 5: Notify loop for myTemp Wetter.Nord.pressure: 1006.9
2015.09.01 16:08:50.802 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.894 5: Triggering myTemp (1 changes)
2015.09.01 16:08:50.897 5: Notify loop for myTemp Wetter.Nord.humidity: <div style="color:#00C4FF">90 %</div>
2015.09.01 16:08:50.902 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:50.998 5: Triggering myTemp (1 changes)
2015.09.01 16:08:51.000 5: Notify loop for myTemp Wetter.Nord.absFeuchte: 12.9 g/m³
2015.09.01 16:08:51.005 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:51.138 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.146 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.153 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.159 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.166 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.172 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.179 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.185 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.191 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.199 5: HMLAN/RAW: /E83765A,0000,04E8A664,FF,FFB1,71A27083765A1ACE1F00A85A275500005CC60708
E1DFDA5,0000,04E8A886,FF,FFB9,A586701DFDA500000000DE47
2015.09.01 16:08:51.202 5: HMLAN_Parse: hmusb1 R:E83765A stat:0000 t:04E8A664 d:FF r:FFB1 m:71 A270 83765A 1ACE1F 00A85A275500005CC60708
2015.09.01 16:08:51.204 5: hmusb1 dispatch A1471A27083765A1ACE1F00A85A275500005CC60708::-79:hmusb1
2015.09.01 16:08:51.217 4: CUL_HM Wetter.Nord dupe: dont process
2015.09.01 16:08:51.223 5: HMLAN_Parse: hmusb1 R:E1DFDA5 stat:0000 t:04E8A886 d:FF r:FFB9 m:A5 8670 1DFDA5 000000 00DE47
2015.09.01 16:08:51.226 5: hmusb1 dispatch A0CA586701DFDA500000000DE47::-71:hmusb1
2015.09.01 16:08:51.255 5: Triggering Thermostat.SZ (2 changes)
2015.09.01 16:08:51.257 5: Notify loop for Thermostat.SZ measured-temp: 22.2
2015.09.01 16:08:51.263 5: statistics my: Notify.261 Notification of 'Thermostat.SZ' received. Device not monitored.
2015.09.01 16:08:51.321 4: PID20 PID20.SZ: Notify.212 check 2 readings for measured-temp
2015.09.01 16:08:51.323 5: PID20 PID20.SZ: Notify.220 check event:<measured-temp: 22.2>
2015.09.01 16:08:51.383 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.389 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:51.397 5: Triggering Thermostat.SZ_Weather (2 changes)
2015.09.01 16:08:51.398 5: Notify loop for Thermostat.SZ_Weather measured-temp: 22.2
2015.09.01 16:08:51.407 5: statistics my: Notify.261 Notification of 'Thermostat.SZ_Weather' received. Device not monitored.
2015.09.01 16:08:51.531 5: Triggering myTemp (1 changes)
2015.09.01 16:08:51.533 5: Notify loop for myTemp Thermostat.SZ_Weather.measured-temp: <div style="color:#E1001E">22.2 °C</div>
2015.09.01 16:08:51.538 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:51.647 5: Triggering myTemp (1 changes)
2015.09.01 16:08:51.649 5: Notify loop for myTemp Thermostat.SZ_Weather.measured-temp: <div style="color:#E1001E">22.2 °C</div>
2015.09.01 16:08:51.654 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:51.784 5: Triggering myTemp (1 changes)
2015.09.01 16:08:51.786 5: Notify loop for myTemp Thermostat.SZ_Weather.measured-temp: <div style="color:#E1001E">22.2 °C</div>
2015.09.01 16:08:51.790 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:51.890 5: Triggering myTemp (1 changes)
2015.09.01 16:08:51.892 5: Notify loop for myTemp Thermostat.SZ_Weather.absFeuchte: 13.9 g/m³
2015.09.01 16:08:51.897 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:52.028 5: Triggering myTemp (1 changes)
2015.09.01 16:08:52.030 5: Notify loop for myTemp Thermostat.SZ_Weather.dewpoint: <div style="color:lightgreen">16.7 °C</div>
2015.09.01 16:08:52.035 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:52.132 5: Triggering myTemp (1 changes)
2015.09.01 16:08:52.134 5: Notify loop for myTemp Thermostat.SZ_Weather.measured-temp: <div style="color:#E1001E">22.2 °C</div>
2015.09.01 16:08:52.139 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:52.238 5: Triggering myTemp (1 changes)
2015.09.01 16:08:52.240 5: Notify loop for myTemp Thermostat.SZ_Weather.absFeuchte: 13.9 g/m³
2015.09.01 16:08:52.245 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:52.355 5: Triggering myTemp (1 changes)
2015.09.01 16:08:52.358 5: Notify loop for myTemp Thermostat.SZ_Weather.dewpoint: <div style="color:lightgreen">16.7 °C</div>
2015.09.01 16:08:52.363 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:52.460 5: Triggering myTemp (1 changes)
2015.09.01 16:08:52.462 5: Notify loop for myTemp Thermostat.SZ_Weather.measured-temp: <div style="color:#E1001E">22.2 °C</div>
2015.09.01 16:08:52.467 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:52.565 5: Triggering myTemp (1 changes)
2015.09.01 16:08:52.567 5: Notify loop for myTemp Thermostat.SZ_Weather.absFeuchte: 13.9 g/m³
2015.09.01 16:08:52.572 5: statistics my: Notify.261 Notification of 'myTemp' received. Device not monitored.
2015.09.01 16:08:52.679 5: Triggering n_klima
2015.09.01 16:08:52.690 4: n_klima exec {
my $humAbs=AbsoluteFeuchte(ReadingsVal($NAME,"measured-temp",0),ReadingsVal($NAME,"humidity",0));;
my $oldReading=ReadingsVal($NAME,"humidityAbsolut0",0);;
if($humAbs != $oldReading) {
for(my $i=3;;$i>=0;;$i--) {
$oldReading=ReadingsVal($NAME,"humidityAbsolut".$i,0);;
fhem("setreading $NAME humidityAbsolut".($i+1)." $oldReading");;
}
fhem("setreading $NAME humidityAbsolut0 $humAbs");;
for(my $i=2;;$i>=0;;$i--) {
$oldReading=ReadingsVal($NAME,"humidityAbsolutDelta".$i,0);;
fhem("setreading $NAME humidityAbsolutDelta".($i+1)." $oldReading");;
}
my $deltaHumAbs=ReadingsVal($NAME,"humidityAbsolut0",0)-ReadingsVal($NAME,"humidityAbsolut1",0);;
fhem("setreading $NAME humidityAbsolutDelta0 $deltaHumAbs");;
my $trend="???";;
my $delta0=ReadingsVal($NAME,"humidityAbsolutDelta0",0);;
my $delta1=ReadingsVal($NAME,"humidityAbsolutDelta1",0);;
my $delta2=ReadingsVal($NAME,"humidityAbsolutDelta2",0);;
my $delta3=ReadingsVal($NAME,"humidityAbsolutDelta3",0);;
if($delta3<0 && $delta2<0 && $delta1<0 && $delta0<0) {$trend="↓↓";;}
elsif($delta3<0 && $delta2<0 && $delta1<0 && $delta0>0) {$trend="↓↗";;}
elsif($delta3<0 && $delta2<0 && $delta1>0 && $delta0<0) {$trend="↘→";;}
elsif($delta3<0 && $delta2<0 && $delta1>0 && $delta0>0) {$trend="↘↗";;}
elsif($delta3<0 && $delta2>0 && $delta1<0 && $delta0<0) {$trend="→↘";;}
elsif($delta3<0 && $delta2>0 && $delta1<0 && $delta0>0) {$trend="→→";;}
elsif($delta3<0 && $delta2>0 && $delta1>0 && $delta0<0) {$trend="↗↘";;}
elsif($delta3<0 && $delta2>0 && $delta1>0 && $delta0>0) {$trend="↘↑";;}
elsif($delta3>0 && $delta2<0 && $delta1<0 && $delta0<0) {$trend="↗↓";;}
elsif($delta3>0 && $delta2<0 && $delta1<0 && $delta0>0) {$trend="↘↗";;}
elsif($delta3>0 && $delta2<0 && $delta1>0 && $delta0<0) {$trend="→→";;}
elsif($delta3>0 && $delta2<0 && $delta1>0 && $delta0>0) {$trend="→↗";;}
elsif($delta3>0 && $delta2>0 && $delta1<0 && $delta0<0) {$trend="↗↘";;}
elsif($delta3>0 && $delta2>0 && $delta1<0 && $delta0>0) {$trend="↗→";;}
elsif($delta3>0 && $delta2>0 && $delta1>0 && $delta0<0) {$trend="↑↘";;}
elsif($delta3>0 && $delta2>0 && $delta1>0 && $delta0>0) {$trend="↑↑";;}
else {$trend="???";;}
fhem("setreading $NAME humidityAbsolutTrend $trend");;
my $device=$NAME;;
$device=~s/_Weather//;;
fhem("setreading $device humidityAbsolutTrend $trend");;
}
}
2015.09.01 16:08:52.701 5: Cmd: >{
my $humAbs=AbsoluteFeuchte(ReadingsVal($NAME,"measured-temp",0),ReadingsVal($NAME,"humidity",0));
my $oldReading=ReadingsVal($NAME,"humidityAbsolut0",0);
if($humAbs != $oldReading) {
for(my $i=3;$i>=0;$i--) {
$oldReading=ReadingsVal($NAME,"humidityAbsolut".$i,0);
fhem("setreading $NAME humidityAbsolut".($i+1)." $oldReading");
}
fhem("setreading $NAME humidityAbsolut0 $humAbs");
for(my $i=2;$i>=0;$i--) {
$oldReading=ReadingsVal($NAME,"humidityAbsolutDelta".$i,0);
fhem("setreading $NAME humidityAbsolutDelta".($i+1)." $oldReading");
}
my $deltaHumAbs=ReadingsVal($NAME,"humidityAbsolut0",0)-ReadingsVal($NAME,"humidityAbsolut1",0);
fhem("setreading $NAME humidityAbsolutDelta0 $deltaHumAbs");
my $trend="???";
my $delta0=ReadingsVal($NAME,"humidityAbsolutDelta0",0);
my $delta1=ReadingsVal($NAME,"humidityAbsolutDelta1",0);
my $delta2=ReadingsVal($NAME,"humidityAbsolutDelta2",0);
my $delta3=ReadingsVal($NAME,"humidityAbsolutDelta3",0);
if($delta3<0 && $delta2<0 && $delta1<0 && $delta0<0) {$trend="↓↓";}
elsif($delta3<0 && $delta2<0 && $delta1<0 && $delta0>0) {$trend="↓↗";}
elsif($delta3<0 && $delta2<0 && $delta1>0 && $delta0<0) {$trend="↘→";}
elsif($delta3<0 && $delta2<0 && $delta1>0 && $delta0>0) {$trend="↘↗";}
elsif($delta3<0 && $delta2>0 && $delta1<0 && $delta0<0) {$trend="→↘";}
elsif($delta3<0 && $delta2>0 && $delta1<0 && $delta0>0) {$trend="→→";}
elsif($delta3<0 && $delta2>0 && $delta1>0 && $delta0<0) {$trend="↗↘";}
elsif($delta3<0 && $delta2>0 && $delta1>0 && $delta0>0) {$trend="↘↑";}
elsif($delta3>0 && $delta2<0 && $delta1<0 && $delta0<0) {$trend="↗↓";}
elsif($delta3>0 && $delta2<0 && $delta1<0 && $delta0>0) {$trend="↘↗";}
elsif($delta3>0 && $delta2<0 && $delta1>0 && $delta0<0) {$trend="→→";}
elsif($delta3>0 && $delta2<0 && $delta1>0 && $delta0>0) {$trend="→↗";}
elsif($delta3>0 && $delta2>0 && $delta1<0 && $delta0<0) {$trend="↗↘";}
elsif($delta3>0 && $delta2>0 && $delta1<0 && $delta0>0) {$trend="↗→";}
elsif($delta3>0 && $delta2>0 && $delta1>0 && $delta0<0) {$trend="↑↘";}
elsif($delta3>0 && $delta2>0 && $delta1>0 && $delta0>0) {$trend="↑↑";}
else {$trend="???";}
fhem("setreading $NAME humidityAbsolutTrend $trend");
my $device=$NAME;
$device=~s/_Weather//;
fhem("setreading $device humidityAbsolutTrend $trend");
}
}<
2015.09.01 16:08:52.753 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:52.761 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:52.767 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:52.773 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:52.787 1: Perfmon: possible freeze starting at 16:08:47, delay is 5.786
wegen der ähnlichkeit zu diesem problem http://forum.fhem.de/index.php/topic,40598.0.html (http://forum.fhem.de/index.php/topic,40598.0.html) habe ich auch schon diese idee erfolglos probiert.
Zitat von: rudolfkoenig am 01 September 2015, 09:39:18
stacktrace bleibt sinnlos. Neuer Vorschlag: die "next" Zeile ersetzen mit
$i = "" if(!defined($i)); # Forum #40598
next if(!$intAt{$i}); # deleted in the loop
hier noch apptime max
name function max count total average maxDly
hmusb1 HMLAN_Read 4209 517 16101 31.14 0 HASH(hmusb1)
hmlan1 HMLAN_Read 4103 526 149583 284.38 0 HASH(hmlan1)
myTemp readingsGroup_Notify 3920 1493 102773 68.84 0 HASH(myTemp); HASH(Wetter.Sued)
tmr-at_Exec HASH(0x1306598) 833 43 18376 427.35 313 HASH(a_io_internals)
tmr-PID20_Calc PID20.SZ 629 58 11363 195.91 1879 PID20.SZ
tmr-PID20_Calc PID20.AZ 621 44 8379 190.43 1954 PID20.AZ
tmr-PID20_Calc PID20.WZ 621 44 8398 190.86 3126 PID20.WZ
tmr-PID20_Calc PID20.Bad 620 44 8537 194.02 3884 PID20.Bad
tmr-HCS_checkState HASH(0x168f7d8) 589 44 15562 353.68 3315 HASH(BROETJE)
tmr-at_Exec HASH(0x16f8d40) 537 3 1553 517.67 6 HASH(AutoSave)
cul433 CUL_Read 474 1 474 474.00 0 HASH(cul433)
VentilControler.Bad_Btn1 CUL_HM_Set 437 1 437 437.00 0 HASH(VentilControler.Bad_Btn1); VentilControler.Bad_Btn1; valvePos; 0
VentilControler.AZ.Nord_Btn1 CUL_HM_Set 436 1 436 436.00 0 HASH(VentilControler.AZ.Nord_Btn1); VentilControler.AZ.Nord_Btn1; valvePos; 0
VentilControler.SZ_Btn1 CUL_HM_Set 430 1 430 430.00 0 HASH(VentilControler.SZ_Btn1); VentilControler.SZ_Btn1; valvePos; 0
VentilControler.WZ_Btn1 CUL_HM_Set 424 1 424 424.00 0 HASH(VentilControler.WZ_Btn1); VentilControler.WZ_Btn1; valvePos; 0
n_sync_ITR1500 notify_Exec 338 1493 1449 0.97 0 HASH(n_sync_ITR1500); HASH(FB_IT01_chn01)
n_klima notify_Exec 328 1493 8747 5.86 0 HASH(n_klima); HASH(Thermostat.WZ_Weather)
n_set_hzg notify_Exec 322 44 7209 163.84 0 HASH(n_set_hzg); HASH(BROETJE)
tmr-Twilight_sunpos HASH(0x1d23f90) 255 1 255 255.00 334 HASH(myTwilight_sunpos)
tmr-HourCounter_Run hc_system_attak 207 9 1618 179.78 1192 hc_system_attak
tmr-at_Exec HASH(0x1bba688) 205 3 605 201.67 6 HASH(a)
und apptime maxdly
name function max count total average maxDly
tmr-CUL_HM_valvePosUpdt valvePos:B3B3B301 12 19 87 4.58 6757 valvePos:B3B3B301
tmr-perfmon_ProcessTimer HASH(0xb36460) 9 2739 195 0.07 5852 HASH(0xb36460)
tmr-Twilight_sunpos HASH(0x1daa668) 167 1 167 167.00 5014 HASH(myTwilight_sunpos)
tmr-PID20_Calc PID20.Bad 620 47 9085 193.30 3884 PID20.Bad
tmr-CUL_HM_valvePosUpdt valvePos:B2B2B201 18 18 99 5.50 3609 valvePos:B2B2B201
tmr-HCS_checkState HASH(0x168f7d8) 589 47 16729 355.94 3315 HASH(BROETJE)
tmr-PID20_Calc PID20.WZ 621 47 8940 190.21 3126 PID20.WZ
tmr-CUL_HM_valvePosUpdt valvePos:B1B1B101 23 19 104 5.47 2788 valvePos:B1B1B101
tmr-HMLAN_KeepAlive keepAlive:hmusb1 13 112 415 3.71 2536 keepAlive:hmusb1
tmr-HMLAN_KeepAliveCheck keepAliveCk:hmlan1 0 115 0 0.00 2430
tmr-CUL_HM_valvePosTmr valveTmr:B1B1B101 9 18 43 2.39 2095 valveTmr:B1B1B101
tmr-PID20_Calc PID20.AZ 621 47 8935 190.11 1954 PID20.AZ
tmr-PID20_Calc PID20.Kueche 24 47 502 10.68 1891 PID20.Kueche
tmr-PID20_Calc PID20.SZ 629 62 12210 196.94 1879 PID20.SZ
tmr-HMLAN_KeepAliveCheck keepAliveCk:hmusb1 1 112 1 0.01 1855 keepAliveCk:hmusb1
tmr-HMLAN_KeepAlive keepAlive:hmlan1 8 112 402 3.59 1679 keepAlive:hmlan1
tmr-FW_closeInactiveClients 20 47 341 7.26 1653
tmr-PRESENCE_StartLocalScan HASH(0x1bbac28) 49 39 1542 39.54 1614 HASH(laptop)
tmr-BlockingKill HASH(0x2058838) 0 1 0 0.00 1458
tmr-HourCounter_Run hc_system_attak 207 9 1618 179.78 1192 hc_system_attak
tmr-HourCounter_Run Pumpe.Garten.Brunnen.Cnt 179 9 1580 175.56 1139 Pumpe.Garten.Brunnen.Cnt
Hi
seltsam finde ich allerdings, dass zu den von performancemonitor gemeldeten freeze-zeitpunkten keine entsprechenden aussetzer im log zu finden sind. so als würde performancemonitor selber gefreezed und nicht fhem.
Ich bin mir nicht sicher ob ich den Satz richtig verstehe.
Vmtl so: (?)
perfmon meldet hiermit das von 16:08:47 bis 16:08:52 "nichts ging", Du siehst aber im log das kein "Loch", sondern das da Action war und wunderst Dich (ein wenig). Richtig ?
2015.09.01 16:08:52.787 1: Perfmon: possible freeze starting at 16:08:47, delay is 5.786
perfmon sagt "possible freeze", -> eventuell.
"freeze" (mit perfmon) meint sowohl den klassischen Hänger, wenn fhem also in einem sleep oder timeout hängt und dadurch mit warten blockiert ist.
Die Meldung kann aber auch besagen das fhem fast 5 Sekunden mit dem abarbeiten von "irgendwas" beschäftigt ist und daher auf nichts anderes reagieren kann.
perfmon arbeitet immer "nur" als Indikator dafür das ein beliebiges event oder eine Aktion (zb ein Lichtschalter) xx Sekunden nicht bearbeitet werden kann, hier ca 5,8 Sekunden. Das scheint mir in Deinem Fall die Summe vieler kleiner Aktionen zu sein die, für sich genommen, alle um die 100ms brauchen (statistik?).
Zusammen wird es aber dann eben spürbar, sogar schmerzhaft ...
vg
joerg
ich wundere mich über die freezes als solche, da ich sie noch nie wahrgenommen habe. readingsgroup und perfmon nutze ich bereits seit über 1 jahr und der tab mit der readingsgroup ist eigentlich ständig geöffnet. ausserdem beobachte ich perfmon hinweise im log regelmässig, da ich ein sauberes timing für meine heizungssteuerung benötige. freeezes in dieser häufigkeit hätte ich sofort bemerkt, so wie gestern. aus diesem grund habe ich auch sofort bemerkt, als es vor tagen auf einmal gar keine freezes mehr gab.
Zitatperfmon meldet hiermit das von 16:08:47 bis 16:08:52 "nichts ging", Du siehst aber im log das kein "Loch", sondern das da Action war und wunderst Dich (ein wenig). Richtig ?
richtig verstanden. das ist aber nicht mein problem, sondern nur eine zusätzliche beobachtung, die mir in dieser auffälligkeit bisher nicht begegnet ist.
Zitatperfmon arbeitet immer "nur" als Indikator dafür das ein beliebiges event oder eine Aktion (zb ein Lichtschalter) xx Sekunden nicht bearbeitet werden kann, hier ca 5,8 Sekunden.
das war und ist mir bekannt. daher benutze ich es auch permanent und habe es als sehr nützliches werkzeug lieben gelernt. vielen dank dafür.
ZitatZusammen wird es aber dann eben spürbar, sogar schmerzhaft ...
das kann ich bei diesen freezes eben nicht feststellen. meine sensible heizungssteuerung ist völlig unbeeindruckt davon.
bisher konnte ich immer bei einer häufung von freezes vermehrte ausfälle der heizungsthermostate feststellen. jetzt zum erstenmal nicht mehr. es scheint so, als würde alles ausgeführt werden, nur der timer von perfmon nicht. aus meiner sicht sprechen also 3 indizien dafür, dass hier etwas anders läuft.
1. aussergewöhnlich viele freezes beim anzeigen einer readingsgroup.
2. diese vielen freezes zeigen ausnahmsweise keine auswirkungen auf den ablauf von fhem.
3. die dauer der gemeldeten verzögerungen liegt teilweise bei werten, die früher nur beim plotten erreicht wurden.
gruss frank
hmm.., ok. verstanden.
die Informationen insgesamt sind tatsächlich im Augenblick ein wenig widersrpüchlich.
Die funktion von perfmon inkl timer hast Du richtig analysiert. Da passiert kein Hexeenwerk, ein timer wird auf eine Zielzeit (now + 1 Sekunde) gesetzt und im Anschluß wird ausgewertet wie groß die Differenz zwischen target und tastächlichem Aufruf ist. Wenn diese diff > 1000ms beträgt ist das ein Hinweiß das fhem vorher nicht dazu gekommen ist weil es mit anderen Sachen beschäftigt war.
Richtig ebenfalls das delays in dieser Größenordnung einen Einfluß auf HMLAN und co haben sollten.
Korrekt ist es also zu hinterfragen ob die Messmmethode (perfmon) richtig arbeitet wenn diese delays gemeldet werden aber die erwarteten Auswirkungeen auf den HMLAN ausbleiben.
Wenn ich mir das log anschaue sieht es im ersten Augenblick aber konsistent aus, grob geschätzt seh ich da etwa 50 statistics a 100ms im log. Mach die 5 Sekunden ...
Zitat2015.09.01 16:08:46.929 5: statistics my: Notify.261 Notification of 'Wetter.Nord' received. Device not monitored.
2015.09.01 16:08:47.073 5: Triggering myTemp (1 changes)
So wie ich das sehe hast Du evtl einfach Glück das der HMLAN (noch?) nicht zickt.
Aber irgendwas muss sich ja geändert haben wenn diese delays früher nicht da waren. Mit dem patch von Rudi kann das eigentlich nichts zu tun haben. Perfmon (und andere module) waren betroffen weil der ERSTE timer nicht ausgelöst wurde. Da perfmon jeweils im timer den nächsten setzt war da finito.
Readingsgroup und statistics benutze ich nicht. Kannst Du statistics mal probeweise disablen und schauen wie die Zeiteen dann aussehen ? Darüber hinaus scheint es ja eine auch readingsgroup irgendwie reinzuspielen, zumindest solange es angezeigt wird. Da muss ich aber passen
vg
joerg
ZitatKannst Du statistics mal probeweise disablen und schauen wie die Zeiteen dann aussehen ?
gute idee. wie es aussieht, habe ich statistics bereits ende januar disabled. :)
also statistics enabled => ähnliche reaktion.
altes statistics modul, enabled => ähnliche reaktion.
statistics entfernt => ähnliche reaktion.
mich würde ja mal interessieren an welcher stelle entschieden wird, ob und wann der perfmon timer ausgeführt wird, um die freeze meldungen besser interpretieren zu können. mein verbose=5 log lässt vermuten, dass interne notifies (notifyFN) und externe notifies vorrangig behandelt werden. von filelog gibt es keine hinweise. demnach werden wohl vorzugsweise alle aufgelaufenen events und ebenso vom hmlan empfangene msgs abgearbeitet. erst wenn der "event/io-container" leer ist, werden die wartenden timer bedient.
im augenblick scheint es an den internen notifies der readingsgroup zu liegen, dass der perfmon timer nicht ausgeführt wird. dann muss ich wohl da mal weitersuchen.
gruss frank
ZitatZitat
Kannst Du statistics mal probeweise disablen und schauen wie die Zeiteen dann aussehen ?
gute idee. wie es aussieht, habe ich statistics bereits ende januar disabled. :)
Im log scheint (!) es so dass trotzdem 100ms vom statistic modul (x50) "verbraten" werden.
Den Aufruf perfmon (timer) kaannst Du in der fhem.pl recht gut nachvollziehen.
fhem selber "wartet" in einer loop auf den nächsten Timer ODER irgendeinen input/output.
Kommt jetzt input (zB HMLAN) wird der verarbeitet und das löst events aus die abgearbeitet werden, zb in notify. Erst wenn alles was "an dem input dranhängt" angearbeitet ist wird entweder der timer nachgeholt oder eben wieder gewartet.
Während des Abarbeten des Inputs wird auch auf keinen neuen "Input" regaiert. Der Lichtschalter (zB) muss dann auch warten bis das "vorher" komplett durch ist. Das sind die 5,8 Sekunden die Du siehst
vg
joerg
Zitatfhem selber "wartet" in einer loop auf den nächsten Timer ODER irgendeinen input/output.
das passt aber irgendwie nicht zu dem log. hier mal die entscheidenden stellen. die erste hmlan msg lösste die eventflut aus die den perfmon timer zum warten verurteilte. danach kommen 2 weitere hmlan msgs, die wiederum events auslösen und verarbeitet werden. erst direkt danach meldet sich dann perfmon.
2015.09.01 16:08:46.870 5: HMLAN/RAW: /E83765A,0000,17BA000E,FF,FFB2,71A27083765A1ACE1F00A85A275500005CC60708
...
2015.09.01 16:08:51.199 5: HMLAN/RAW: /E83765A,0000,04E8A664,FF,FFB1,71A27083765A1ACE1F00A85A275500005CC60708
E1DFDA5,0000,04E8A886,FF,FFB9,A586701DFDA500000000DE47
...
2015.09.01 16:08:52.773 5: rh_unreachable: not on any display, don't trigger
2015.09.01 16:08:52.787 1: Perfmon: possible freeze starting at 16:08:47, delay is 5.786
doch das passt.
Die timer werden abgearbeitet wenn ALLE msg durch sind, auch die "wartenden". Die neuen HMLAN msg lagen schon bereit als die erste fertig verarbeitet war. Insofern kann der "Schalter" (hier HMLAN) tatsächlich VOR den timer (perfmon) dran sein.
Vielleicht formuliere ich besser wenn ich sage: perfmon (alle timer) ist dran wenn alles andere durch ist.
Von daher passen die Daten aus dem log dann zur Aussage "fhem war 5 Sekunden mit sich selber beschäftigt", was ja hier der Punkt ist.
Frage wäre jetzt für mich WARUM die komplette Verarbeitung der ersten HMLAN msg von 16:08:46.870 bis 16:08:51.199 dauert und warum die readingsgroup (sichtbar ja/nein) das beeinflußt. Dann fallen mir eben die 100ms pro statistic call auf.
vg
joerg
ZitatDie timer werden abgearbeitet wenn ALLE msg durch sind, auch die "wartenden". Die neuen HMLAN msg lagen schon bereit als die erste fertig verarbeitet war. Insofern kann der "Schalter" (hier HMLAN) tatsächlich VOR den timer (perfmon) dran sein.
rein theoretisch würde also der perfmon timer "verhungern", wenn zb jede sekunde eine hmlan msg kommt und deren eventkette 2 sekunden verarbeitung benötigt, da vor ende der verarbeitung immer wieder eine neue hmlan msg warten würde.
ZitatFrage wäre jetzt für mich WARUM die komplette Verarbeitung der ersten HMLAN msg von 16:08:46.870 bis 16:08:51.199 dauert und warum die readingsgroup (sichtbar ja/nein) das beeinflußt. Dann fallen mir eben die 100ms pro statistic call auf.
statistics hatte ich jetzt ja schon entfernt und trotzdem keine verbesserungen.
aber mit einer alten readingsgroup.pm vom februar sind die freezes nun verschwunden. ich habe schon fast an meinem erinnerungsvermögen gezweifelt. :)
dann muss ich wohl mal schauen, ab wann das drama begonnen hat.
gruss frank
Zitatrein theoretisch würde also der perfmon timer "verhungern", wenn zb jede sekunde eine hmlan msg kommt und deren eventkette 2 sekunden verarbeitung benötigt, da vor ende der verarbeitung immer wieder eine neue hmlan msg warten würde.
Richtig. Fhem insgesamt würde "verhungern", kein Timer würde zum Zug kommen, ACK würden nicht gesendet, etc. Das wäre ein klassicher Fall in dem eine schnellere CPU her muss.
Btw, was auf was für Hardware läuft fhem bei Dir ?
Generell kannst Du schauen ob Du zu viele oder zu generische notify oder regex hast. Nur generller Tip, vielleicht hast Du das ja ohnehin.
Zitataber mit einer alten readingsgroup.pm vom februar sind die freezes nun verschwunden. ich habe schon fast an meinem erinnerungsvermögen gezweifelt. :)
Na kannst Du beginnen das einzukreisen ;)
vg
joerg
ZitatBtw, was auf was für Hardware läuft fhem bei Dir ?
ich bin immer noch mit fritzbox unterwegs. das ende rückt aber scheinbar immer näher.
# $Id: 33_readingsGroup.pm 8462 2015-04-22 15:22:22Z justme1968 $
das ist die letzte gut laufende version.
vielleicht hat andre eine idee?
Wirst wohl nicht umhinkommen über eine andere Plattform nachzudenken, ich war damals auch schnell von der Fritte weg (lag aber an dem "begrenzten" Perl).
Unschlagbar ZBOX nano, kann ich für die Hauptinstanz nur wärmstens empfehlen :)
VG
Frank
Zitat von: frank am 02 September 2015, 21:40:09
ich bin immer noch mit fritzbox unterwegs. das ende rückt aber scheinbar immer näher.
# $Id: 33_readingsGroup.pm 8462 2015-04-22 15:22:22Z justme1968 $
das ist die letzte gut laufende version.
vielleicht hat andre eine idee?
Naja, fb ist halt nicht state-of-the-art ;) ~6 Sekunden in Deinem Beispiel sind trotzdem hart.
Hier ist die diff von 6462 und 8761:
http://sourceforge.net/p/fhem/code/8761/tree//trunk/fhem/FHEM/33_readingsGroup.pm?diff=8462
Sind viele Änderungen drin. Muss wohl echt Andre mal schauen.
vg
joerg
ZitatSind viele Änderungen drin.
allerdings, und für mich nichts wirklich gutes dabei. ;)
die 6 sek sind zwar der absolute ausnahmefall, aber 1,5-2 sek ca. alle 30 sek bei fast jeder readingsänderung sind schon krass. die verarbeitungszeit hat sich vermutlich mindestens verdoppelt.
zur not gibt es ja auch noch "excludeFromUpdate".
gruss frank
hier schon mal ein list der readingsgroup
Internals:
DEF MeinWetter:<aktuell>,<heute>,<morgen>,fc3_day_of_week,fc4_day_of_week,fc5_day_of_week
MeinWetter:icon,fc1_icon,fc2_icon,fc3_icon,fc4_icon,fc5_icon
MeinWetter:wind_condition,fc1_high_c,fc2_high_c,fc3_high_c,fc4_high_c,fc5_high_c
MeinWetter:pressure,fc1_low_c,fc2_low_c,fc3_low_c,fc4_low_c,fc5_low_c
<Raum>,<Hrel>,<Tist>,<Tdew>,<Habs>,<Htrend>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<TC>,<Vist>,<Vctrl>,<Vstat>,<Vsoll>,<Verr>,<VD>
Broetje:humidity,ToutIst,dewpoint,humidityAbsolut
Wetter.(Nord|Sued):humidity,temperature,dewpoint,absFeuchte,pressure,luminosity
Thermostat.*_Weather:humidity,measured-temp,dewpoint,absFeuchte,humidityAbsolutTrend,desired-temp@{$DEVICE=~s/_Weather//g;$DEVICE."_Climate"},controlMode@{$DEVICE=~s/_Weather//g;$DEVICE."_Climate"},night-temp@{$DEVICE=~s/_Weather//g;$DEVICE."_Climate"},day-temp@{$DEVICE=~s/_Weather//g;$DEVICE."_Climate"},battery@{$DEVICE=~s/_Weather//g;$DEVICE.""},ValvePosition@{valveOfDevice($DEVICE)},valveCtrl@{valveCtrlOfDevice($DEVICE)},operState@{valveOfDevice($DEVICE)},ValveDesired@{valveOfDevice($DEVICE)},R-valveErrorPos@{valveOfDevice($DEVICE)},battery@{valveOfDevice($DEVICE)}
NAME myTemp
NR 423
NTFY_ORDER 50-myTemp
STATE Initialized
TYPE readingsGroup
mayBeVisible 1
Content:
Broetje 1
MeinWetter 1
Thermostat.AZ_Weather 1
Thermostat.Bad.OG_Weather 1
Thermostat.Bad_Weather 1
Thermostat.GZ_Weather 1
Thermostat.Keller_Weather 1
Thermostat.Kueche_Weather 1
Thermostat.OZ_Weather 1
Thermostat.SZ_Weather 1
Thermostat.WZ_Weather 1
Wetter.Nord 1
Wetter.Sued 1
Content2:
Thermostat.AZ 1
Thermostat.AZ_Climate 1
Thermostat.Bad 1
Thermostat.Bad.OG 1
Thermostat.Bad.OG_Climate 1
Thermostat.Bad_Climate 1
Thermostat.GZ 1
Thermostat.GZ_Climate 1
Thermostat.Keller 1
Thermostat.Keller_Climate 1
Thermostat.Kueche 1
Thermostat.Kueche_Climate 1
Thermostat.OZ 1
Thermostat.OZ_Climate 1
Thermostat.SZ 1
Thermostat.SZ_Climate 1
Thermostat.WZ 1
Thermostat.WZ_Climate 1
Ventil.AZ.Nord 1
Ventil.Bad 1
Ventil.Kueche 1
Ventil.SZ 1
Ventil.WZ 1
VentilControler.AZ.Nord_Btn1 1
VentilControler.Bad_Btn1 1
VentilControler.Kueche_Btn1 1
VentilControler.SZ_Btn1 1
VentilControler.WZ_Btn1 1
DEVICES:
ARRAY(0x1f03650)
ARRAY(0x1f0bc20)
ARRAY(0x1cd4fe8)
ARRAY(0x1f07588)
ARRAY(0x1d41120)
ARRAY(0x1f02dd0)
ARRAY(0x17960b8)
ARRAY(0x1f2d428)
ARRAY(0x1ef6b20)
ARRAY(0x1cd0d98)
ARRAY(0x1f52388)
ARRAY(0x1f368f0)
ARRAY(0x1f51808)
ARRAY(0x1d4c960)
ARRAY(0x1f0b720)
ARRAY(0x1d9f6f8)
ARRAY(0x1cd7ac0)
DEVICES2:
ARRAY(0x1f03650)
ARRAY(0x1f0bc20)
ARRAY(0x1cd4fe8)
ARRAY(0x1f07588)
ARRAY(0x1d41120)
ARRAY(0x1f02dd0)
ARRAY(0x17960b8)
ARRAY(0x1f2d428)
ARRAY(0x1ef6b20)
ARRAY(0x1cd0d98)
ARRAY(0x1f52388)
ARRAY(0x1f368f0)
ARRAY(0x1f51808)
ARRAY(0x1d4c960)
ARRAY(0x1f0b720)
ARRAY(0x1d9f6f8)
ARRAY(0x1cd7ac0)
ARRAY(0x1f07438)
ARRAY(0x1f524a8)
ARRAY(0x1cd5908)
ARRAY(0x1cf9228)
ARRAY(0x1f052a8)
ARRAY(0x1da7fe0)
ARRAY(0x1f36530)
ARRAY(0x1da6768)
ARRAY(0x1cd7b00)
ARRAY(0x1f05cb8)
ARRAY(0x1f06bc8)
ARRAY(0x1da6598)
ARRAY(0x1d76318)
ARRAY(0x1f51d88)
ARRAY(0x1f3eee8)
ARRAY(0x1da6308)
ARRAY(0x1da6588)
ARRAY(0x1da6888)
ARRAY(0x1b38ad8)
ARRAY(0x1ce04f8)
ARRAY(0x1f42c08)
ARRAY(0x1ce7848)
ARRAY(0x1d4c480)
ARRAY(0x1f07678)
ARRAY(0x1f05c18)
ARRAY(0x1ef5c30)
ARRAY(0x1f0b200)
ARRAY(0x1f070c8)
ARRAY(0x1d9f7a8)
ARRAY(0x1ce73b8)
ARRAY(0x1da69d8)
ARRAY(0x1d76248)
ARRAY(0x1cd2348)
ARRAY(0x1da5e08)
ARRAY(0x1cc3198)
ARRAY(0x175ac20)
ARRAY(0x1d73ab0)
ARRAY(0x1da6418)
ARRAY(0x1cc9238)
ARRAY(0x1f06f68)
ARRAY(0x1f0bc80)
ARRAY(0x1f077b8)
ARRAY(0x1ef13c8)
ARRAY(0x1f0ba00)
ARRAY(0x1b3a078)
ARRAY(0x1f51db8)
ARRAY(0x1f36a50)
ARRAY(0x1cd1d68)
ARRAY(0x1da05a8)
ARRAY(0x1f3ee28)
ARRAY(0x1f07738)
ARRAY(0x1f3a520)
ARRAY(0x1efdfe0)
ARRAY(0x1cdd2d8)
ARRAY(0x1cefca0)
ARRAY(0x1d9fd78)
ARRAY(0x1f36820)
ARRAY(0x1d309d8)
ARRAY(0x1ce9a20)
ARRAY(0x1f36510)
ARRAY(0x1f36480)
ARRAY(0x1d30b78)
ARRAY(0x175a9b0)
ARRAY(0x1f521f8)
ARRAY(0x1f02c40)
ARRAY(0x1d9fb98)
ARRAY(0x1cdd5e8)
ARRAY(0x1f076d8)
ARRAY(0x1d9fa38)
ARRAY(0x1ce97f0)
ARRAY(0x1f3edd8)
ARRAY(0x1ef3200)
ARRAY(0x1efe490)
ARRAY(0x1d9fa58)
ARRAY(0x1da8070)
Fhem:
lastDefChange 2
last_update 1441214573.17073
Helper:
DEF
nameStyle { 'style="color:yellow"' }
valueFormat {'battery'=>'{[split(" ", $VALUE)]->[0]}','temperature' => "%0.1f °C",'measured-temp' => "%0.1f °C",'dewpoint' => "%0.1f °C", 'fc1_high_c' => "%.1f °C", 'fc1_low_c' => "%.1f °C", 'fc2_high_c' => "%.1f °C", 'fc2_low_c' => "%.1f °C", 'fc3_high_c' => "%.1f °C", 'fc3_low_c' => "%.1f °C", 'fc4_high_c' => "%.1f °C", 'fc4_low_c' => "%.1f °C", 'fc5_high_c' => "%.1f °C", 'fc5_low_c' => "%.1f °C", 'ToutIst' => "%.1f °C",'desired-temp' => '{sprintf("%.1f °C",[split(" ", $VALUE)]->[0])}','night-temp' => '{sprintf("%.1f °C",[split(" ", $VALUE)]->[0])}', 'day-temp' => '{sprintf("%.1f °C",[split(" ", $VALUE)]->[0])}', 'humidity' => "%.0f %%",'absFeuchte' => "%0.1f g/m³",'humidityAbsolut' => "%0.1f g/m³",'humidityAbsolut0' => "%0.1f g/m³",'ValvePosition'=>'{sprintf("%02d",[split(" ",$VALUE)]->[0])." %%"}','ValveDesired'=>'{sprintf("%02d",[split(" ",$VALUE)]->[0])." %%"}','R-valveErrorPos'=>'{sprintf("%02d",[split(" ",$VALUE)]->[0])." %%"}'}
valueStyle { if($READING eq "humidity") {return "style=\"color:#".substr(pahColor(45,60,75,$VALUE,[255,255,0, 127,255,0, 0,255,0, 0,255,127, 0,196,255],0),0,6)."\""} elsif($READING ~~ ["temperature","measured-temp","ToutIst"] && $VALUE < 15) {return "style=\"color:#".substr(pahColor(0,12,15,$VALUE,[0,196,255, 0,225,127, 0,255,0, 127,255,0, 255,255,0],0),0,6)."\""} elsif($READING ~~ ["temperature","measured-temp","ToutIst"] && $VALUE >= 15) {return "style=\"color:#".substr(pahColor(15,21,30,$VALUE,[255,255,0, 255,127,0, 225,0,0, 225,0,112, 225,0,225],0),0,6)."\""} elsif($READING eq "dewpoint") { if(ReadingsVal($DEVICE,"measured-temp","") > ($VALUE + 3)){'style="color:lightgreen"'} elsif((ReadingsVal($DEVICE,"measured-temp","") > ($VALUE+1))&&(ReadingsVal($DEVICE,"measured-temp","") <= ($VALUE+3))){'style="color:orange"'} else{'style="color:orangered"'} } elsif($READING =~ m/day_of/){'style="color:yellow"'} elsif($READING eq "humidityAbsolutTrend") { if($VALUE ~~ ["↑↑","↑↘","↘↑","→↗","↗→"]){'style="color:dodgerblue"'} elsif($VALUE ~~ ["→→","↗↘","↘↗"]){'style="color:lightgreen"'} elsif($VALUE ~~ ["↓↓","↓↗","↗↓","↘→","→↘"]){'style="color:yellow"'} } elsif($READING eq "ValvePosition") { my $myRoom = $1 if($DEVICE =~ m/Ventil.(.*)/);; if(ReadingsVal("VentilControler.".$myRoom."_Btn1","valveCtrl","") eq "lost"){return 'style="color:orangered"'} elsif(ReadingsVal("VentilControler.".$myRoom."_Btn1","valveCtrl","") =~ m/miss/){return 'style="color:orange"'} elsif(ReadingsVal("VentilControler.".$myRoom."_Btn1","valveCtrl","") eq "ok"){return 'style="color:lightgreen"'} } elsif($READING eq "valveCtrl") { my $myRoom = $1 if($DEVICE =~ m/VentilControler.(.*)_Btn1/);; my $myValve = "Ventil.".$myRoom;; my $myValvePos = ReadingsVal($myValve,"ValvePosition",0);; fhem("trigger $myValve ValvePosition: $myValvePos");; if($VALUE eq "lost"){return 'style="color:orangered"'} elsif($VALUE =~ m/miss/){return 'style="color:orange"'} elsif($VALUE eq "ok"){return 'style="color:lightgreen"'} } }
Mapping:
Broetje Wetter
MeinWetter
Thermostat.AZ EG_Arbeitszimmer
Thermostat.Bad EG_Bad
Thermostat.Bad.OG OG_Bad
Thermostat.GZ OG_Gästezimmer
Thermostat.Keller UG_Keller
Thermostat.Kueche EG_Küche
Thermostat.OZ EG_Kaminzimmer
Thermostat.SZ OG_Schlafzimmer
Thermostat.WZ EG_Wohnzimmer
controlMode
desired-temp
Valuecolumn:
desired-temp 6
fc1_high_c 2
fc1_low_c 2
humidityAbsolut 4
Valueicon:
battery.low batterie@red
battery.ok batterie@lightgreen
fc1_icon %VALUE
fc2_icon %VALUE
fc3_icon %VALUE
fc4_icon %VALUE
fc5_icon %VALUE
icon %VALUE
Attributes:
mapping { 'Broetje' => 'Wetter','MeinWetter' => '','Thermostat.AZ' => 'EG_Arbeitszimmer','Thermostat.Keller' => 'UG_Keller','Thermostat.SZ' => 'OG_Schlafzimmer','Thermostat.WZ'=>'EG_Wohnzimmer','Thermostat.Kueche' => 'EG_Küche','Thermostat.GZ' => 'OG_Gästezimmer','Thermostat.Bad' => 'EG_Bad','Thermostat.Bad.OG' => 'OG_Bad','Thermostat.OZ' => 'EG_Kaminzimmer','desired-temp' => '','controlMode' => ''}
nameStyle { 'style="color:yellow"' }
notime 1
room 01_INFO
valueColumn {'fc1_high_c' => 2,'fc1_low_c' => 2,'humidityAbsolut' => 4,'desired-temp' => 6}
valueFormat {'battery'=>'{[split(" ", $VALUE)]->[0]}','temperature' => "%0.1f °C",'measured-temp' => "%0.1f °C",'dewpoint' => "%0.1f °C", 'fc1_high_c' => "%.1f °C", 'fc1_low_c' => "%.1f °C", 'fc2_high_c' => "%.1f °C", 'fc2_low_c' => "%.1f °C", 'fc3_high_c' => "%.1f °C", 'fc3_low_c' => "%.1f °C", 'fc4_high_c' => "%.1f °C", 'fc4_low_c' => "%.1f °C", 'fc5_high_c' => "%.1f °C", 'fc5_low_c' => "%.1f °C", 'ToutIst' => "%.1f °C",'desired-temp' => '{sprintf("%.1f °C",[split(" ", $VALUE)]->[0])}','night-temp' => '{sprintf("%.1f °C",[split(" ", $VALUE)]->[0])}', 'day-temp' => '{sprintf("%.1f °C",[split(" ", $VALUE)]->[0])}', 'humidity' => "%.0f %%",'absFeuchte' => "%0.1f g/m³",'humidityAbsolut' => "%0.1f g/m³",'humidityAbsolut0' => "%0.1f g/m³",'ValvePosition'=>'{sprintf("%02d",[split(" ",$VALUE)]->[0])." %%"}','ValveDesired'=>'{sprintf("%02d",[split(" ",$VALUE)]->[0])." %%"}','R-valveErrorPos'=>'{sprintf("%02d",[split(" ",$VALUE)]->[0])." %%"}'}
valueIcon {'battery.ok' => 'batterie@lightgreen','battery.low' => 'batterie@red','icon' => '%VALUE','fc1_icon' => '%VALUE','fc2_icon' => '%VALUE','fc3_icon' => '%VALUE','fc4_icon' => '%VALUE','fc5_icon' => '%VALUE'}
valueStyle { if($READING eq "humidity") {return "style=\"color:#".substr(pahColor(45,60,75,$VALUE,[255,255,0, 127,255,0, 0,255,0, 0,255,127, 0,196,255],0),0,6)."\""} elsif($READING ~~ ["temperature","measured-temp","ToutIst"] && $VALUE < 15) {return "style=\"color:#".substr(pahColor(0,12,15,$VALUE,[0,196,255, 0,225,127, 0,255,0, 127,255,0, 255,255,0],0),0,6)."\""} elsif($READING ~~ ["temperature","measured-temp","ToutIst"] && $VALUE >= 15) {return "style=\"color:#".substr(pahColor(15,21,30,$VALUE,[255,255,0, 255,127,0, 225,0,0, 225,0,112, 225,0,225],0),0,6)."\""} elsif($READING eq "dewpoint") { if(ReadingsVal($DEVICE,"measured-temp","") > ($VALUE + 3)){'style="color:lightgreen"'} elsif((ReadingsVal($DEVICE,"measured-temp","") > ($VALUE+1))&&(ReadingsVal($DEVICE,"measured-temp","") <= ($VALUE+3))){'style="color:orange"'} else{'style="color:orangered"'} } elsif($READING =~ m/day_of/){'style="color:yellow"'} elsif($READING eq "humidityAbsolutTrend") { if($VALUE ~~ ["↑↑","↑↘","↘↑","→↗","↗→"]){'style="color:dodgerblue"'} elsif($VALUE ~~ ["→→","↗↘","↘↗"]){'style="color:lightgreen"'} elsif($VALUE ~~ ["↓↓","↓↗","↗↓","↘→","→↘"]){'style="color:yellow"'} } elsif($READING eq "ValvePosition") { my $myRoom = $1 if($DEVICE =~ m/Ventil.(.*)/);; if(ReadingsVal("VentilControler.".$myRoom."_Btn1","valveCtrl","") eq "lost"){return 'style="color:orangered"'} elsif(ReadingsVal("VentilControler.".$myRoom."_Btn1","valveCtrl","") =~ m/miss/){return 'style="color:orange"'} elsif(ReadingsVal("VentilControler.".$myRoom."_Btn1","valveCtrl","") eq "ok"){return 'style="color:lightgreen"'} } elsif($READING eq "valveCtrl") { my $myRoom = $1 if($DEVICE =~ m/VentilControler.(.*)_Btn1/);; my $myValve = "Ventil.".$myRoom;; my $myValvePos = ReadingsVal($myValve,"ValvePosition",0);; fhem("trigger $myValve ValvePosition: $myValvePos");; if($VALUE eq "lost"){return 'style="color:orangered"'} elsif($VALUE =~ m/miss/){return 'style="color:orange"'} elsif($VALUE eq "ok"){return 'style="color:lightgreen"'} } }
verbose 5
da sind viel zu viele events. was mich auf den ersten blick irritiert ist die tatsache das laut log gleiche werte mehrfach aktualisiert werden.
kannst du mal bitte mal ein entsprechendes log mit der alten version erzeugen? und für alte und neue version den event monitor für den fraglichen zeitraum posten.
zeig bitte mal ein list auf das statistics device und ein list auf die readingGroup mit der alten version.
kannst du bitte für alte und neue version jeweils die ausgabe von {Dumper $defs{myTemp}} anhängen.
gruss
andre
statistics habe ich zur zeit zum testen entfernt, also kein define. das hatte keine spürbare veränderung gebracht.
im anhang 2 dateien, jeweils die daten für eine version.
gruss frank
hallo andre,
hast du mich vergessen, oder noch nichts gefunden?
gruss frank
ich hab noch nichts gefunden. die doppelten events verstehe ich noch nicht. ich kann es nicht reproduzieren und die beiden listings sehen bis jetzt gleich aus.
ich bin noch dran.
gruss
andre
Zitatdie doppelten events verstehe ich noch nicht.
doppelt ist nicht ganz richtig.
bei dieser message von einem universalsensor erzeugen zb luminosity 9 events, humidity 10 events und temperature 6 events. dewpoint und absFeuchte kommen dann noch über das modul dewpoint hinzu. allerdings "nur" mit 2 und 3 events. sozusagen 30 events anstatt 5.
2015.09.03 12:11:13.672 5: HMLAN_Parse: hmlan1 R:E6869B6 stat:0000 t:212D8753 d:FF r:FFB5 m:9E A270 6869B6 1ACE1F 00B34D279C00000D2B06A4
2015.09.03 12:11:13.675 5: hmlan1 dispatch A149EA2706869B61ACE1F00B34D279C00000D2B06A4::-75:hmlan1
2015.09.03 12:11:13.694 5: HMLAN: Skip ACK
2015.09.03 12:11:13.702 5: CUL_HM Wetter.Sued protEvent:CMDs_done
2015.09.03 12:11:13.705 5: CUL_HM Wetter.Sued sent ACK:2
2015.09.03 12:11:13.726 5: Triggering Wetter.Sued (7 changes)
2015.09.03 12:11:13.727 5: Notify loop for Wetter.Sued humidity: 77
2015.09.03 12:11:13.873 5: Triggering myTemp (1 changes)
2015.09.03 12:11:13.875 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:14.014 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.016 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:14.118 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.120 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:14.224 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.226 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:14.327 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.329 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:14.431 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.432 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:14.535 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.536 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:14.662 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.663 5: Notify loop for myTemp Wetter.Sued.temperature: <div style="color:#F88400">17.9 °C</div>
2015.09.03 12:11:14.766 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.767 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:14.869 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.871 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:14.970 5: Triggering myTemp (1 changes)
2015.09.03 12:11:14.972 5: Notify loop for myTemp Wetter.Sued.temperature: <div style="color:#F88400">17.9 °C</div>
2015.09.03 12:11:15.071 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.073 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:15.169 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.171 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:15.269 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.271 5: Notify loop for myTemp Wetter.Sued.temperature: <div style="color:#F88400">17.9 °C</div>
2015.09.03 12:11:15.366 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.367 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:15.461 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.463 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:15.585 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.587 5: Notify loop for myTemp Wetter.Sued.absFeuchte: 11.8 g/m³
2015.09.03 12:11:15.679 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.681 5: Notify loop for myTemp Wetter.Sued.temperature: <div style="color:#F88400">17.9 °C</div>
2015.09.03 12:11:15.777 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.779 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:15.874 5: Triggering myTemp (1 changes)
2015.09.03 12:11:15.876 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:16.006 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.008 5: Notify loop for myTemp Wetter.Sued.dewpoint: <div style="color:lightgreen">13.8 °C</div>
2015.09.03 12:11:16.120 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.122 5: Notify loop for myTemp Wetter.Sued.absFeuchte: 11.8 g/m³
2015.09.03 12:11:16.175 5: PRESENCE (laptop) - ping command returned with output:
PING 192.168.1.21 (192.168.1.21): 56 data bytes
--- 192.168.1.21 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
2015.09.03 12:11:16.245 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.247 5: Notify loop for myTemp Wetter.Sued.temperature: <div style="color:#F88400">17.9 °C</div>
2015.09.03 12:11:16.348 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.350 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:16.515 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.545 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
2015.09.03 12:11:16.687 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.689 5: Notify loop for myTemp Wetter.Sued.dewpoint: <div style="color:lightgreen">13.8 °C</div>
2015.09.03 12:11:16.792 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.794 5: Notify loop for myTemp Wetter.Sued.absFeuchte: 11.8 g/m³
2015.09.03 12:11:16.894 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.895 5: Notify loop for myTemp Wetter.Sued.temperature: <div style="color:#F88400">17.9 °C</div>
2015.09.03 12:11:16.993 5: Triggering myTemp (1 changes)
2015.09.03 12:11:16.996 5: Notify loop for myTemp Wetter.Sued.humidity: <div style="color:#00C4FF">77 %</div>
2015.09.03 12:11:17.092 5: Triggering myTemp (1 changes)
2015.09.03 12:11:17.095 5: Notify loop for myTemp Wetter.Sued.luminosity: 33.71
Zitatich bin noch dran.
alles klar, danke.
gruss frank
so wie ich es verstehe kommen die mehrfachen gleichen events bei dir aus der readingsGroup. und das sollte nicht so sein.das summiert sich ganz schön.
falls die events aber schon von deinem sensor kommen sollten: dann setz bitte mal event-on-change-reading.
gruss
andre
ps: du könntest aber bitte noch was für mich tun. im readingsGroup file in readingsGroup_Notify in der schleife in der die notifys verarbeitete werden mal eine log ausgabe von $device einbauen. am besten vor die zeile mit if( $regex && $regex =~ m/^<(.*)>$/ ) {
. bei mir ist das 1200.
gruss
andre
Zitatso wie ich es verstehe kommen die mehrfachen gleichen events bei dir aus der readingsGroup. und das sollte nicht so sein.das summiert sich ganz schön.
genau. mit v8462 kommt jedes readingsgroup-event genau einmal, sobald es ein änderungs-event vom device reading gibt.
Zitatfalls die events aber schon von deinem sensor kommen sollten: dann setz bitte mal event-on-change-reading.
war und ist bereits eingestellt.
also sobald readingsgroup eine änderung/event registriert, erzeugt es selber (fast?) immer mehr wie ein event. seltsamer weise mal mehr, mal weniger.
für das log muss ich erst noch umbauen, kommt später.
gruss frank
2015.09.10 16:01:10.986 5: HMLAN_Parse: hmlan1 R:E6869B6 stat:0000 t:460DDFC0 d:FF r:FFBB m:DD A270 6869B6 1ACE1F 00BA3627FC000000F709C4
2015.09.10 16:01:10.989 5: hmlan1 dispatch A14DDA2706869B61ACE1F00BA3627FC000000F709C4::-69:hmlan1
2015.09.10 16:01:11.004 5: HMLAN: Skip ACK
2015.09.10 16:01:11.027 5: CUL_HM Wetter.Sued protEvent:CMDs_done
2015.09.10 16:01:11.029 5: CUL_HM Wetter.Sued sent ACK:2
2015.09.10 16:01:11.043 5: Triggering Wetter.Sued (3 changes)
2015.09.10 16:01:11.045 5: Notify loop for Wetter.Sued luminosity: 2.47
2015.09.10 16:01:11.170 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.172 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.174 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.175 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.177 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.179 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.204 5: Triggering myTemp (1 changes)
2015.09.10 16:01:11.206 5: Notify loop for myTemp Wetter.Sued.luminosity: 2.47
2015.09.10 16:01:11.300 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.301 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.303 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.306 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.307 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.331 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.334 5: Triggering myTemp (1 changes)
2015.09.10 16:01:11.336 5: Notify loop for myTemp Wetter.Sued.pressure: 1023.6
2015.09.10 16:01:11.433 5: Triggering myTemp (1 changes)
2015.09.10 16:01:11.436 5: Notify loop for myTemp Wetter.Sued.luminosity: 2.47
2015.09.10 16:01:11.529 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.531 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.533 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.536 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.538 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.539 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.543 5: Triggering myTemp (1 changes)
2015.09.10 16:01:11.544 5: Notify loop for myTemp Wetter.Sued.pressure: 1023.6
2015.09.10 16:01:11.638 5: Triggering myTemp (1 changes)
2015.09.10 16:01:11.640 5: Notify loop for myTemp Wetter.Sued.luminosity: 2.47
2015.09.10 16:01:11.736 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.738 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.739 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.741 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.743 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.745 5: ----- ReadingsGroup ----- => Device:ARRAY(0x1f081e0)
2015.09.10 16:01:11.748 5: Triggering myTemp (1 changes)
2015.09.10 16:01:11.750 5: Notify loop for myTemp Wetter.Sued.pressure: 1023.6
2015.09.10 16:01:11.843 5: Triggering myTemp (1 changes)
2015.09.10 16:01:11.844 5: Notify loop for myTemp Wetter.Sued.luminosity: 2.47
2015.09.10 16:01:11.966 5: rh_unreachable: not on any display, don't trigger
2015.09.10 16:01:11.972 5: rh_unreachable: not on any display, don't trigger
2015.09.10 16:01:11.978 5: rh_unreachable: not on any display, don't trigger
2015.09.10 16:01:11.999 5: HMLAN/RAW: /E1ACE1F,0000,460DE034,FF,FFD8,DD80021ACE1F6869B600
2015.09.10 16:01:12.003 5: HMLAN_Parse: hmlan1 R:E1ACE1F stat:0000 t:460DE034 d:FF r:FFD8 m:DD 8002 1ACE1F 6869B6 00
2015.09.10 16:01:12.006 5: hmlan1 dispatch A0ADD80021ACE1F6869B600::-40:hmlan1
2015.09.10 16:01:12.023 5: HMLAN/RAW: /E6869B6,0000,0019CEF4,FF,FFBB,DDA2706869B61ACE1F00BA3627FC000000F709C4
2015.09.10 16:01:12.026 5: HMLAN_Parse: hmusb1 R:E6869B6 stat:0000 t:0019CEF4 d:FF r:FFBB m:DD A270 6869B6 1ACE1F 00BA3627FC000000F709C4
2015.09.10 16:01:12.029 5: hmusb1 dispatch A14DDA2706869B61ACE1F00BA3627FC000000F709C4::-69:hmusb1
2015.09.10 16:01:12.037 4: CUL_HM Wetter.Sued dupe: dont process
2015.09.10 16:01:12.045 5: Triggering Wetter.Sued (1 changes)
2015.09.10 16:01:12.047 5: Notify loop for Wetter.Sued rssi_at_hmusb1: -69
reicht das schon, oder mehr?
ich denke ich habe das problem gefunden.
es war eine geschweifte klammer an eine falsche stelle gerutscht. dadurch wurden bei jedem neuen event alle alten noch mal gefeuert.
mein vi hat es nicht richtig angezeigt weil an einer anderen stelle eine geschweifte klammer in einer regex nicht maskiert war und so die zuordnung klammerpaare nicht mehr gestimmt hat...
gruss
andre
perfekt, danke. :)