eCharts in FHEM (Version 0.0.12.1)

Begonnen von andies, 06 Februar 2024, 22:06:15

Vorheriges Thema - Nächstes Thema

andies

Wenn du mir mal Logfile und gplot schickst, kann ich mir das mal genauer anschauen. (Sonst kurze PM, dann schicke ich Dir da meine E-Mail, muss ja nicht jeder sehen.)
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

MadMax

Hier das Log
2024.03.15 18:37:37 5: eCharts rendering: defining filter
2024.03.15 18:37:37 5: eCharts rendering: from: 2024-03-14_18:40:00 to: 2024-03-15_18:39:59
2024.03.15 18:37:37 5: eCharts rendering: defining header
2024.03.15 18:37:37 5: eCharts generating javascript code
2024.03.15 18:37:37 5: eCharts javascript generation: defining options
2024.03.15 18:37:37 5: eCharts rendering: converting options
2024.03.15 18:37:37 5: eCharts rendering: defining filter
2024.03.15 18:37:37 5: eCharts rendering: from: 2024-03-14_18:40:00 to: 2024-03-15_18:39:59
2024.03.15 18:37:37 5: eCharts rendering: defining header
2024.03.15 18:37:37 5: eCharts generating javascript code
2024.03.15 18:37:37 5: eCharts javascript generation: defining options
2024.03.15 18:37:37 5: eCharts rendering: converting options
2024.03.15 18:37:40 5: eCharts rendering: defining filter
2024.03.15 18:37:40 5: eCharts rendering: from: 2024-03-14_18:40:00 to: 2024-03-15_18:39:59
2024.03.15 18:37:40 5: eCharts rendering: defining header
2024.03.15 18:37:40 5: eCharts generating javascript code
2024.03.15 18:37:40 5: eCharts javascript generation: defining options
2024.03.15 18:37:40 5: eCharts rendering: converting options

Hier noch das gplot
# Created by FHEM/98_SVG.pm, 2024-03-15 18:31:31
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'HPSU'
set ytics
set y2tics "Standby", "Heizen", "Kuehlen", "Abtauen", "WW", "off", "on"
set grid
set ylabel ""
set y2label ""

#DbLog.WP WP.HPSU:HPSU.Aktive_Betriebsart:::
#DbLog.Anwesenheit WP.HPSU:HPSU.Betriebsart:::
#DbLog.Anwesenheit WP.HPSU:HPSU.Betrieb_Kompressor:::
#DbLog.Anwesenheit WP.HPSU:HPSU.Betrieb_UWPumpe:::

plot "<IN>" using 1:2 axes x1y2 title 'Aktive_Betriebsart' ls l0 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Betriebsart' ls l3 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Kompressor' ls l1 lw 1 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'UWPumpe' ls l2 lw 1 with steps
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

andies

#107
Sorry, ich meinte den Logfile des Gerätes, also mit den Einträgen wann "Off", "Standby" usw.

Bei DbLog gibt es keinen Logfile. Und ich habe ja die daten im vorigen Post!
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

MadMax

Achso  :)
Aber hast jetzt was du brauchst?
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

andies

Ja, alles da. Brauche aber etwas Zeit.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

MadMax

Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

andies

Hmm. Ich komme nicht weiter, weil ich kein Db nutze. Also, es muss ungefähr Zeile 357 sein. Dort steht bei mir
      my $da = SVG_getData($name, $f, $t, $srcDesc, 0);und nach diesem Befehl sollte $da ein riesiger String mit den Daten sein. In etwa so:
1: da $VAR1 = [
2024-03-13_18:09:17 50.5
2024-03-13_18:09:17 50.5
2024-03-13_18:19:05 52.1
2024-03-13_18:19:05 52.1
2024-03-13_18:21:06 53.7
2024-03-13_18:21:08 53.7
2024-03-13_19:21:02 47.8
2024-03-13_19:21:02 48.3
2024-03-13_20:21:04 47.2
2024-03-13_20:21:05 47.8
(habe ich mir ausgegeben mit "Log3 undef, 1, "da ".Dumper(\$da)", wenn ich das richtig erinnere)

Dieser String ist bei mir und wahrscheinlich auch bei Dir leer. Bei mir liegt es an den übergebenen Variablen in der Funktion SVG_getData. Das sind insgesamt fünf,
$name, devicename des Charts
$f,    ab wann anzeigen
$t,    bis wann anzeigen
$srcDesc das ist ein hash mit mehreren keys "order", "all" usw
Bei mir ist "Dein" srcDesc leer. Bei Dir stand aber da was drin, und nach diesem Post müsste da sogar etwas angekommen sein. Wenn ich meine FileLog-Geräte nehme, dann habe ich da Einträge der Form
src $VAR1 = \{
            'all' => ' 4:.*::',
            'src' => {
                       'FileLog_GartentorTemp' => {
                                                    'num' => 0,
                                                    'idx' => 0,
                                                    'arg' => '4:.*::'
                                                  }
                     },
            'rev' => {
                       '0' => {
                                '0' => 0
                              }
                     },
            'order' => [
                         'FileLog_GartentorTemp'
                       ]
          };

Wenn in $da nichts steht, wird nichts angezeigt. Wenn da etwas steht, könnte ich was machen. Also du müsstest mir mal sagen, ob in Zeile ca 357 bei Deinem $da etwas zu sehen ist. Mit einem eingefügten Befehl zB
Log3 undef, 1, "da= ".Dumper(\$da);
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

MadMax

Hallo Andies,

die Daten kommen, die werden auch angezeiht aber erst nachdem ich den Zoombalken etwas bewegt habe.

Hier die daten von $da.
2024.03.16 16:36:51 5: eCharts rendering: defining filter
2024.03.16 16:36:51 5: eCharts rendering: from: 2024-03-15_16:40:00 to: 2024-03-16_16:39:59
2024.03.16 16:36:51 5: eCharts rendering: defining header
2024.03.16 16:36:51 5: eCharts generating javascript code
2024.03.16 16:36:51 5: eCharts javascript generation: defining options
2024.03.16 16:36:51 5: eCharts rendering: converting options
2024.03.16 16:36:51 1: da= $VAR1 = \[
    \"2024-03-15_16:52:43 Standby\n2024-03-15_17:12:56 Standby\n2024-03-15_17:33:09 Standby\n2024-03-15_17:53:16 Standby\n2024-03-15_18:05:10 Heizen\n2024-03-15_18:25:16 Heizen\n2024-03-15_18:45:24 Heizen\n2024-03-15_19:05:30 Heizen\n2024-03-15_19:25:39 Heizen\n2024-03-15_19:45:54 Heizen\n2024-03-15_20:06:02 Heizen\n2024-03-15_20:21:22 Standby\n2024-03-15_20:38:45 Heizen\n2024-03-15_20:43:16 Standby\n2024-03-15_20:44:04 Heizen\n2024-03-15_20:48:49 Standby\n2024-03-15_20:49:24 Heizen\n2024-03-15_20:54:03 Standby\n2024-03-15_20:54:50 Heizen\n2024-03-15_20:59:31 Standby\n2024-03-15_21:19:38 Standby\n2024-03-15_21:33:17 Heizen\n2024-03-15_21:38:11 Standby\n2024-03-15_21:38:42 Heizen\n2024-03-15_21:58:52 Heizen\n2024-03-15_22:19:05 Heizen\n2024-03-15_22:39:08 Heizen\n2024-03-15_22:59:14 Heizen\n2024-03-15_23:19:27 Heizen\n2024-03-15_23:39:35 Heizen\n2024-03-15_23:59:42 Heizen\n2024-03-16_00:19:58 Heizen\n2024-03-16_00:40:09 Heizen\n2024-03-16_01:00:14 Heizen\n2024-03-16_01:20:25 Heizen\n2024-03-16_01:40:34 Heizen\n2024-03-16_02:00:45 Heizen\n2024-03-16_02:20:46 Heizen\n2024-03-16_02:40:57 Heizen\n2024-03-16_03:01:10 Heizen\n2024-03-16_03:21:14 Heizen\n2024-03-16_03:41:22 Heizen\n2024-03-16_03:41:31 Standby\n2024-03-16_04:01:31 Standby\n2024-03-16_04:14:32 Heizen\n2024-03-16_04:19:12 Standby\n2024-03-16_04:20:01 Heizen\n2024-03-16_04:24:40 Standby\n2024-03-16_04:25:28 Heizen\n2024-03-16_04:30:13 Standby\n2024-03-16_04:30:59 Heizen\n2024-03-16_04:35:43 Standby\n2024-03-16_04:55:49 Standby\n2024-03-16_05:13:13 Heizen\n2024-03-16_05:33:20 Heizen\n2024-03-16_05:53:30 Heizen\n2024-03-16_06:13:38 Heizen\n2024-03-16_06:33:46 Heizen\n2024-03-16_06:53:51 Heizen\n2024-03-16_07:14:02 Heizen\n2024-03-16_07:34:10 Heizen\n2024-03-16_07:54:19 Heizen\n2024-03-16_08:14:29 Heizen\n2024-03-16_08:34:37 Heizen\n2024-03-16_08:54:46 Heizen\n2024-03-16_09:09:09 Standby\n2024-03-16_09:29:19 Standby\n2024-03-16_09:49:26 Standby\n2024-03-16_10:09:34 Standby\n2024-03-16_10:29:43 Standby\n2024-03-16_10:49:52 Standby\n2024-03-16_11:10:01 Standby\n2024-03-16_11:30:03 Standby\n2024-03-16_11:50:06 Standby\n2024-03-16_12:02:28 Heizen\n2024-03-16_12:22:29 Heizen\n2024-03-16_12:42:34 Heizen\n2024-03-16_12:44:01 Standby\n2024-03-16_12:45:19 Heizen\n2024-03-16_13:05:21 Heizen\n2024-03-16_13:25:27 Heizen\n2024-03-16_13:45:35 Heizen\n2024-03-16_13:56:32 Standby\n2024-03-16_14:16:37 Standby\n2024-03-16_14:26:37 Heizen\n2024-03-16_14:31:20 Standby\n2024-03-16_14:32:11 Heizen\n2024-03-16_14:36:55 Standby\n2024-03-16_14:37:50 Heizen\n2024-03-16_14:42:32 Standby\n2024-03-16_14:43:31 Heizen\n2024-03-16_14:48:11 Standby\n2024-03-16_15:08:12 Standby\n2024-03-16_15:21:19 Heizen\n2024-03-16_15:26:00 Standby\n2024-03-16_15:26:39 Heizen\n2024-03-16_15:46:49 Heizen\n2024-03-16_16:07:03 Heizen\n2024-03-16_16:27:08 Heizen\n#WP.HPSU:HPSU.Aktive_Betriebsart:::\n",
    \"2024-03-15_16:58:22 Heizen\n2024-03-15_17:19:21 Heizen\n2024-03-15_17:40:12 Heizen\n2024-03-15_18:01:21 Heizen\n2024-03-15_18:22:18 Heizen\n2024-03-15_18:42:55 Heizen\n2024-03-15_19:04:05 Heizen\n2024-03-15_19:24:33 Heizen\n2024-03-15_19:46:18 Heizen\n2024-03-15_20:07:37 Heizen\n2024-03-15_20:28:22 Heizen\n2024-03-15_20:49:06 Heizen\n2024-03-15_20:59:46 Sommer\n2024-03-15_21:20:26 Sommer\n2024-03-15_21:31:45 Heizen\n2024-03-15_21:53:22 Heizen\n2024-03-15_22:14:22 Heizen\n2024-03-15_22:34:56 Heizen\n2024-03-15_22:56:23 Heizen\n2024-03-15_23:17:17 Heizen\n2024-03-15_23:38:25 Heizen\n2024-03-15_23:59:18 Heizen\n2024-03-16_00:20:22 Heizen\n2024-03-16_00:41:06 Heizen\n2024-03-16_01:01:21 Heizen\n2024-03-16_01:22:21 Heizen\n2024-03-16_01:43:22 Heizen\n2024-03-16_02:03:59 Heizen\n2024-03-16_02:25:19 Heizen\n2024-03-16_02:46:22 Heizen\n2024-03-16_03:07:19 Heizen\n2024-03-16_03:28:11 Heizen\n2024-03-16_03:49:03 Heizen\n2024-03-16_04:10:21 Heizen\n2024-03-16_04:31:03 Heizen\n2024-03-16_04:35:55 Sommer\n2024-03-16_04:56:47 Sommer\n2024-03-16_05:11:45 Heizen\n2024-03-16_05:32:31 Heizen\n2024-03-16_05:54:01 Heizen\n2024-03-16_06:15:05 Heizen\n2024-03-16_06:36:12 Heizen\n2024-03-16_06:57:01 Heizen\n2024-03-16_07:17:33 Heizen\n2024-03-16_07:38:37 Heizen\n2024-03-16_07:59:12 Heizen\n2024-03-16_08:20:16 Heizen\n2024-03-16_08:40:28 Heizen\n2024-03-16_09:01:48 Heizen\n2024-03-16_09:09:00 Sommer\n2024-03-16_09:30:27 Sommer\n2024-03-16_09:51:46 Sommer\n2024-03-16_10:12:49 Sommer\n2024-03-16_10:33:47 Sommer\n2024-03-16_10:55:04 Sommer\n2024-03-16_11:15:32 Sommer\n2024-03-16_11:36:23 Sommer\n2024-03-16_11:58:19 Sommer\n2024-03-16_12:00:59 Heizen\n2024-03-16_12:21:56 Heizen\n2024-03-16_12:43:22 Heizen\n2024-03-16_13:04:19 Heizen\n2024-03-16_13:25:04 Heizen\n2024-03-16_13:45:20 Heizen\n2024-03-16_14:06:22 Heizen\n2024-03-16_14:16:56 Heizen\n2024-03-16_14:37:26 Heizen\n2024-03-16_14:48:18 Sommer\n2024-03-16_15:09:20 Sommer\n2024-03-16_15:19:25 Heizen\n2024-03-16_15:19:26 Sommer\n2024-03-16_15:19:26 Heizen\n2024-03-16_15:40:30 Heizen\n2024-03-16_16:01:29 Heizen\n2024-03-16_16:22:10 Heizen\n#WP.HPSU:HPSU.Betriebsart:::\n2024-03-15_16:53:51 off\n2024-03-15_17:14:08 off\n2024-03-15_17:34:24 off\n2024-03-15_17:54:28 off\n2024-03-15_18:14:43 off\n2024-03-15_18:34:59 off\n2024-03-15_18:55:17 off\n2024-03-15_19:15:17 off\n2024-03-15_19:23:01 on\n2024-03-15_19:43:16 on\n2024-03-15_20:03:26 on\n2024-03-15_20:21:28 off\n2024-03-15_20:41:39 off\n2024-03-15_20:42:50 on\n2024-03-15_20:43:26 off\n2024-03-15_20:48:21 on\n2024-03-15_20:48:56 off\n2024-03-15_20:53:33 on\n2024-03-15_20:54:14 off\n2024-03-15_20:59:02 on\n2024-03-15_20:59:46 off\n2024-03-15_21:20:01 off\n2024-03-15_21:37:27 on\n2024-03-15_21:38:22 off\n2024-03-15_21:42:49 on\n2024-03-15_22:02:59 on\n2024-03-15_22:23:05 on\n2024-03-15_22:43:19 on\n2024-03-15_23:03:23 on\n2024-03-15_23:23:30 on\n2024-03-15_23:43:38 on\n2024-03-16_00:03:52 on\n2024-03-16_00:24:16 on\n2024-03-16_00:44:18 on\n2024-03-16_01:04:30 on\n2024-03-16_01:24:36 on\n2024-03-16_01:44:42 on\n2024-03-16_02:04:56 on\n2024-03-16_02:25:18 on\n2024-03-16_02:45:23 on\n2024-03-16_03:05:36 on\n2024-03-16_03:25:47 on\n2024-03-16_03:41:33 off\n2024-03-16_04:01:35 off\n2024-03-16_04:18:41 on\n2024-03-16_04:19:17 off\n2024-03-16_04:24:13 on\n2024-03-16_04:24:47 off\n2024-03-16_04:29:44 on\n2024-03-16_04:30:20 off\n2024-03-16_04:35:06 on\n2024-03-16_04:35:55 off\n2024-03-16_04:56:04 off\n2024-03-16_05:16:12 off\n2024-03-16_05:17:27 on\n2024-03-16_05:37:34 on\n2024-03-16_05:57:41 on\n2024-03-16_06:17:54 on\n2024-03-16_06:38:07 on\n2024-03-16_06:58:20 on\n2024-03-16_07:18:29 on\n2024-03-16_07:38:48 on\n2024-03-16_07:58:58 on\n2024-03-16_08:19:06 on\n2024-03-16_08:39:18 on\n2024-03-16_08:59:41 on\n2024-03-16_09:09:08 off\n2024-03-16_09:29:31 off\n2024-03-16_09:49:32 off\n2024-03-16_10:09:49 off\n2024-03-16_10:30:07 off\n2024-03-16_10:50:21 off\n2024-03-16_11:10:33 off\n2024-03-16_11:30:48 off\n2024-03-16_11:50:57 off\n2024-03-16_12:11:11 off\n2024-03-16_12:31:26 off\n2024-03-16_12:51:30 off\n2024-03-16_13:08:37 on\n2024-03-16_13:28:56 on\n2024-03-16_13:49:15 on\n2024-03-16_13:56:43 off\n2024-03-16_14:16:52 off\n2024-03-16_14:30:45 on\n2024-03-16_14:31:32 off\n2024-03-16_14:36:17 on\n2024-03-16_14:37:06 off\n2024-03-16_14:42:03 on\n2024-03-16_14:42:40 off\n2024-03-16_14:47:42 on\n2024-03-16_14:48:18 off\n2024-03-16_15:08:29 off\n2024-03-16_15:25:28 on\n2024-03-16_15:26:17 off\n2024-03-16_15:30:42 on\n2024-03-16_15:50:50 on\n2024-03-16_16:00:40 off\n2024-03-16_16:20:54 off\n#WP.HPSU:HPSU.Betrieb_Kompressor:::\n2024-03-15_16:54:31 off\n2024-03-15_17:14:43 off\n2024-03-15_17:35:04 off\n2024-03-15_17:55:26 off\n2024-03-15_18:04:04 on\n2024-03-15_18:24:15 on\n2024-03-15_18:44:27 on\n2024-03-15_19:04:30 on\n2024-03-15_19:24:41 on\n2024-03-15_19:44:43 on\n2024-03-15_20:05:04 on\n2024-03-15_20:25:19 on\n2024-03-15_20:45:31 on\n2024-03-15_20:59:55 off\n2024-03-15_21:20:16 off\n2024-03-15_21:32:02 on\n2024-03-15_21:52:21 on\n2024-03-15_22:12:31 on\n2024-03-15_22:32:49 on\n2024-03-15_22:52:53 on\n2024-03-15_23:12:59 on\n2024-03-15_23:33:04 on\n2024-03-15_23:53:14 on\n2024-03-16_00:13:36 on\n2024-03-16_00:33:53 on\n2024-03-16_00:54:04 on\n2024-03-16_01:14:25 on\n2024-03-16_01:34:35 on\n2024-03-16_01:54:42 on\n2024-03-16_02:15:00 on\n2024-03-16_02:35:03 on\n2024-03-16_02:55:16 on\n2024-03-16_03:15:36 on\n2024-03-16_03:35:51 on\n2024-03-16_03:56:04 on\n2024-03-16_04:16:23 on\n2024-03-16_04:36:02 off\n2024-03-16_04:56:14 off\n2024-03-16_05:12:03 on\n2024-03-16_05:32:14 on\n2024-03-16_05:52:25 on\n2024-03-16_06:12:33 on\n2024-03-16_06:32:39 on\n2024-03-16_06:52:59 on\n2024-03-16_07:13:13 on\n2024-03-16_07:33:22 on\n2024-03-16_07:53:33 on\n2024-03-16_08:13:44 on\n2024-03-16_08:34:01 on\n2024-03-16_08:54:16 on\n2024-03-16_09:09:13 off\n2024-03-16_09:29:27 off\n2024-03-16_09:49:29 off\n2024-03-16_10:09:40 off\n2024-03-16_10:29:50 off\n2024-03-16_10:50:05 off\n2024-03-16_11:10:25 off\n2024-03-16_11:30:40 off\n2024-03-16_11:51:00 off\n2024-03-16_12:01:16 on\n2024-03-16_12:21:26 on\n2024-03-16_12:41:35 on\n2024-03-16_12:44:02 off\n2024-03-16_12:45:14 on\n2024-03-16_13:05:30 on\n2024-03-16_13:25:47 on\n2024-03-16_13:45:59 on\n2024-03-16_14:06:11 on\n2024-03-16_14:16:15 on\n2024-03-16_14:36:27 on\n2024-03-16_14:48:25 off\n2024-03-16_15:08:37 off\n2024-03-16_15:19:49 on\n2024-03-16_15:40:05 on\n2024-03-16_16:00:16 on\n2024-03-16_16:20:25 on\n#WP.HPSU:HPSU.Betrieb_UWPumpe:::\n"
  ];

Außerdem ein Logfile für dich zum testen.

Danke und Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

schwatter

@andies

Nabend,

bis jetzt läuft es ein paar Tage stabil. Top  :)
Das arrangieren mit position_legend und position_title ist super.

Nutzt du zufällig auch f18 als skin? Wäre super, wenn du die Farben noch mit einlesen könntest.
Bzw Foreground, ist wichtig. Gegenfalls noch andere. Mal sehen.
Falls das für dich zu schwierig ist, vielleicht Farben zulassen per attr.
Deine Defaultfarbe ist in meinem Fall ungünstig


Gruß schwatter

andies

#114
Ich habe wieder ein wenig gebastelt und mir die Sachen von schwatter und MadMax angeschaut. Außerdem habe ich intern einiges geändert:
  • Die Daten werden jetzt per Dataset gespeichert. Damit soll man perspektivisch besser zB farblich ändernde Linien hinbekommen. Das ist aber unter der Motorhaube, sieht man nicht direkt.
  • Ich habe zoom-Button wie in SVG hinzugefügt.
  • visualMap gibt es jetzt auch (da kann man eine Linie verschiedenfarbig einfärben, also niedrige Werte schwarz und hohe Werte rot), aber das ist sehr experimentell. Siehe Anhang
Bevor ich das vorn wieder einstellen, zwei Anmerkungen.

Zitat von: schwatter am 16 März 2024, 20:50:16Nutzt du zufällig auch f18 als skin? Wäre super, wenn du die Farben noch mit einlesen könntest.
Bzw Foreground, ist wichtig. Gegenfalls noch andere. Mal sehen.
Falls das für dich zu schwierig ist, vielleicht Farben zulassen per attr.
Ich weiß jetzt nicht genau, wo foreground vorkommt. Was ich eingestellt hatte war "backgroundColor" und das war default. Diese Hintergrundfarbe wird aber im style-file definiert, also sollte man die besser da herholen (wobei man sie immer noch durch das Attribut überschreiben könnte). Das habe ich geändert. Also background nicht mehr transparent, sondern aus dem style-File. Du musst also mal schauen, ob das passt oder was es genau ist.

Zitat von: MadMax am 16 März 2024, 16:39:31die Daten kommen, die werden auch angezeiht aber erst nachdem ich den Zoombalken etwas bewegt habe.
Also das scheint was Größeres zu sein. Soweit bin ich schon: Es könnte sein, dass das in (jetzt) Zeile 467 passiert
     my $dp = $da->[$dIdx];
      next if(ref $dp ne "SCALAR");       # Avoid Crash, Forum #34523 <== Das wurde schonmal diskutiert!
      my ($dpl,$dpoff,$l) = (length($$dp), 0, ""); # $dp scheint alle Daten zu enthalten
Ich habe mir $dp, $dpl und $dpoff angeschaut. Während $dp noch zeilweise die Einträge aus dem Logging enthält, ist dann bei $dpl und $dploff nichts mehr da. Das kann jetzt an mir liegen, weil ich nach wie vor kein DbLog habe. Die Zeile mit "next" hat folgenden Hintergrund. $da ist nämlich eine komplexe Sache (in $da stehen die Daten aus dem Logfile):
ZitatThe Dumper(\$da) output shows that $da is a reference to an array containing a single element. This element is a scalar reference (\') pointing to a large multiline string, each line of which appears to consist of a timestamp followed by a numeric value, separated by a space.
Wieso jetzt nur deshalb, weil da keine numeric values drin stehen, ein Problem entsteht, weiß ich nicht. Da müssten wir genauer nachforschen.

Es kann aber auch sein, dass ich total auf dem Holzweg bin. Wenn du (zB) in Zeile 478 gehst
if($l =~ m/^#/){ erscheinen denn dann die einzelnen Einträge in $l noch? Dann müsste ich da weiter schauen. Nach Deinem Eintrag Nr. 99 liegen diese Angaben eigentlich vor und $wert ist dann eben keine Zahl, sondern ein Wort ("Heizen"). 
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

schwatter

Nabend,

so funktioniert es noch nicht mit den Farben.
Ich habe nachgeschaut, f18 special werden in "attr WEB styleData ..." gespeichert.

zugreifen per

{ AttrVal($FW_wname, "styleData", "") }

Gruß schwatter

andies

Zitat von: schwatter am 17 März 2024, 21:56:42zugreifen per

{ AttrVal($FW_wname, "styleData", "") }
Da muss ich mal nachfragen, denn eigentlich orientiert sich der Hintergrund am stylefile. Was hast du denn als Style in FHEMWEB (attr stylesheetPrefix) gesetzt?

Da hole ich das her, und das erscheint mir auch systematisch. Ansonsten kannst du mit dem Attribut background ja direkt in die Grafik eingreifen.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

schwatter

#117
Mahlzeit,

Background. Ja, das funktioniert auch nicht so.
Muss ich mir heut Abend nochmal anschauen.

Das ist die Ausgabe von "attr styleData ..."

Die Ausgabe is in Json.

{
 "f18": {
  "Pinned.menu": false,
  "hidePin": true,
  "hideLogo": true,
  "savePinChanges": false,
  "cols.bg": "555555",
  "cols.fg": "cccccc",
  "cols.link": "cccccc",
  "cols.evenrow": "333333",
  "cols.oddrow": "111111",
  "cols.header": "222222",
  "cols.menu": "111111",
  "cols.sel": "333333",
  "cols.inpBack": "444444",
  "showDragger": false,
  "rightMenu": false,
  "snapToGrid": false,
  "fixedInput": true,
  "Pos.Room_1__20Heizung_grp_CUL_HM": {
  "left": 0,
  "top": 0,
  "width": 1660,
  "height": 160,
  "oTop": 34,
  "oLeft": 3
  },
  "Pos.Room_1__20Heizung_grp_THSensor": {
  "left": 0,
  "top": 200,
  "width": 1660,
  "height": 40,
  "oTop": 54,
  "oLeft": 3
  },
  "Pinned.Room.1%2e%20Heizung.grp.CUL_HM": true,
  "hideInput": false,
  "Pinned.style.list.f18 special": true,
  "Pos.Room_CUL_5fTX_grp_FileLog": {
  "left": 0,
  "top": 0,
  "width": 541,
  "height": 26,
  "oTop": 21,
  "oLeft": 1
  },
  "Pos.Room_CUL_5fTX_grp_THSensor": {
  "left": 0,
  "top": 50,
  "width": 541,
  "height": 38,
  "oTop": 41,
  "oLeft": 1
  },
  "wrapcolumns": true,
  "widePortrait": true,
  "hideMenu": false,
  "hideTextInput": false,
  "Pos.style_list_Styles": {
  "left": 0,
  "top": 0,
  "width": 1346,
  "height": 450,
  "oTop": -372,
  "oLeft": 0
  },
  "Pos.style_list_f18_special": {
  "left": 0,
  "top": 80,
  "width": 1346,
  "height": 151,
  "oTop": 48,
  "oLeft": 0
  },
  "Pos.style_list_f18__Room_specific": {
  "left": 0,
  "top": 281,
  "width": 1346,
  "height": 714,
  "oTop": 48,
  "oLeft": 0
  }
 },
 "flex": {
  "colorPreset": {},
  "menuOrder": {},
  "devices": {
  "6c1cd7e5e36df770cf7ac0e48942a838": {
    "color": {
    "HeaderBG": "#2E5E87",
    "HeaderIcon": "#FFF",
    "HeaderText": "#FFF",
    "HeaderBorder": "#2E5E87",
    "MenuBG": "#000",
    "MenuBorder": "#2E5E87",
    "MenuIcon": "#FFF",
    "MenuIconBG": "#2E5E87",
    "MenuRoomIcon": "#FFF",
    "MenuText": "#FFF",
    "MenuHoverLink": "#2E5E87",
    "MainBG": "#EEE",
    "TableHeaderBG": "#2E5E87",
    "TableHeaderText": "#FFF",
    "TableBorder": "#2E5E87",
    "TableOdd": "#EEE",
    "TableEven": "#DDD",
    "TableText": "#000",
    "TableLink": "#000",
    "TableLinkFirstCol": "#000",
    "TableHoverRow": "#AAA",
    "TableHoverLink": "#2E5E87",
    "TableNewEvent": "#F00",
    "TableIcon": "#2E5E87",
    "TableShadow": "#000",
    "SetGetAttrBG": "#CCC",
    "SubmitButtonBG": "#2E5E87",
    "SubmitButtonBorder": "#2E5E87",
    "SubmitButtonText": "#FFF",
    "WidgetBorder": "#2E5E87",
    "WidgetText": "#000",
    "WidgetHighlight": "#2E5E87",
    "LogDate": "#000",
    "LogTime": "#000",
    "LogVerbose0": "#000",
    "LogVerbose1": "#F00",
    "LogVerbose2": "#FFA500",
    "LogVerbose3": "#008000",
    "LogVerbose4": "#1E90FF",
    "LogVerbose5": "#00F",
    "plotBG": "#EEE",
    "plotBGgradient": "#EEE",
    "plotBorder": "#2E5E87",
    "plotText": "#000",
    "plotGrid": "#555",
    "plotMarker": "#F00",
    "plotLine0": "#F00",
    "plotLine1": "#0F0",
    "plotLine2": "#00F",
    "plotLine3": "#F0F",
    "plotLine4": "#A52A2A",
    "plotLine5": "#000",
    "plotLine6": "#808000",
    "plotLine7": "#808080",
    "plotLine8": "#FF0",
    "plotLinePasted": "#000"
    },
    "title": "fhem",
    "myUtilsFileName": "99_myUtils.pm",
    "plotMinWidth": "250px",
    "plotMaxWidth": "100%",
    "fontFamily": "Arial",
    "showClock": true,
    "showLogoButton": false,
    "showRebootButton": true,
    "showUpdateButton": true,
    "showUpdateCheckButton": true,
    "showRereadIconsButton": false,
    "showRawInputButton": true,
    "showSaveButton": true,
    "showRoomDeviceName": true,
    "showMenuAlways": true,
    "showFirstColBold": true,
    "enableCommandHistory": true,
    "enableDeviceSearch": true,
    "hideWebcmdOnSmallScreen": false,
    "colorOptionsDetailed": false,
    "multiColumnLayout": "dual",
    "enableAnimations": false,
    "improvePerformance": false,
    "enableLogLineWrap": true,
    "enableRoundedEdges": true,
    "enableTableShadow": false,
    "showRoomIconsRight": false,
    "enableCodeMirror": true,
    "enableDayTimeStyle": false,
    "enableExperimental": false,
    "dayStyle": "bright",
    "nightStyle": "dark",
    "currentStyle": "bright",
    "newSettings": {},
    "scalePage": "1",
    "enableTableBehaviour": false
  },
  "195fe5627d9dc038583167eb8629ad4f": {
    "color": {
    "HeaderBG": "#2E5E87",
    "HeaderIcon": "#FFF",
    "HeaderText": "#FFF",
    "HeaderBorder": "#2E5E87",
    "MenuBG": "#000",
    "MenuBorder": "#2E5E87",
    "MenuIcon": "#FFF",
    "MenuIconBG": "#2E5E87",
    "MenuRoomIcon": "#FFF",
    "MenuText": "#FFF",
    "MenuHoverLink": "#2E5E87",
    "MainBG": "#EEE",
    "TableHeaderBG": "#2E5E87",
    "TableHeaderText": "#FFF",
    "TableBorder": "#2E5E87",
    "TableOdd": "#EEE",
    "TableEven": "#DDD",
    "TableText": "#000",
    "TableLink": "#000",
    "TableLinkFirstCol": "#000",
    "TableHoverRow": "#AAA",
    "TableHoverLink": "#2E5E87",
    "TableNewEvent": "#F00",
    "TableIcon": "#2E5E87",
    "TableShadow": "#000",
    "SetGetAttrBG": "#CCC",
    "SubmitButtonBG": "#2E5E87",
    "SubmitButtonBorder": "#2E5E87",
    "SubmitButtonText": "#FFF",
    "WidgetBorder": "#2E5E87",
    "WidgetText": "#000",
    "WidgetHighlight": "#2E5E87",
    "LogDate": "#000",
    "LogTime": "#000",
    "LogVerbose0": "#000",
    "LogVerbose1": "#F00",
    "LogVerbose2": "#FFA500",
    "LogVerbose3": "#008000",
    "LogVerbose4": "#1E90FF",
    "LogVerbose5": "#00F",
    "plotBG": "#EEE",
    "plotBGgradient": "#EEE",
    "plotBorder": "#2E5E87",
    "plotText": "#000",
    "plotGrid": "#555",
    "plotMarker": "#F00",
    "plotLine0": "#F00",
    "plotLine1": "#0F0",
    "plotLine2": "#00F",
    "plotLine3": "#F0F",
    "plotLine4": "#A52A2A",
    "plotLine5": "#000",
    "plotLine6": "#808000",
    "plotLine7": "#808080",
    "plotLine8": "#FF0",
    "plotLinePasted": "#000"
    },
    "title": "fhem",
    "myUtilsFileName": "99_myUtils.pm",
    "plotMinWidth": "250px",
    "plotMaxWidth": "100%",
    "fontFamily": "Arial",
    "showClock": true,
    "showLogoButton": false,
    "showRebootButton": true,
    "showUpdateButton": true,
    "showUpdateCheckButton": true,
    "showRereadIconsButton": false,
    "showRawInputButton": true,
    "showSaveButton": true,
    "showRoomDeviceName": true,
    "showMenuAlways": true,
    "showFirstColBold": true,
    "enableCommandHistory": true,
    "enableDeviceSearch": true,
    "hideWebcmdOnSmallScreen": false,
    "colorOptionsDetailed": false,
    "multiColumnLayout": "dual",
    "enableAnimations": false,
    "improvePerformance": false,
    "enableLogLineWrap": true,
    "enableRoundedEdges": true,
    "enableTableShadow": false,
    "showRoomIconsRight": false,
    "enableCodeMirror": true,
    "enableDayTimeStyle": false,
    "enableExperimental": false,
    "dayStyle": "bright",
    "nightStyle": "dark",
    "currentStyle": "bright",
    "newSettings": {},
    "scalePage": "1",
    "enableTableBehaviour": false
  }
  }
 }
}

Bei der Schriftfarbe handelt es sich um diesen Wert.

"cols.fg": "cccccc"


Gruß schwatter

MadMax

Hallo Andies,

ich habe noch ein kleines Manko  ;)
Da die Daten nicht immer Zeitlich Synchron sind zeigt der Tooltip nicht immer Werte an, das wäre aber schön.
Eine Lösung habe ich dafür auch gefunden aber bekomme die nicht eingebaut.

https://github.com/apache/echarts/issues/15488
https://stackoverflow.com/questions/55238820/how-can-i-show-all-series-in-tooltip-when-series-does-not-have-same-time-values/72026277#72026277

Dachte das es eigentlich hiermit gehen könnte aber nö...
    ######################
    # Options -> axisPointer
    ######################
    ${$eCharts_options_ref}{axisPointer} = {snap => 'true'};

Danke.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 5x SMA Wechselrichter, BYD HVM, SMA EVCharger, Daikin Wärmepumpe über CAN

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

andies

Zitat von: MadMax am 19 März 2024, 17:42:30ich habe noch ein kleines Manko  ;)
Also wenn die Lösung aus stackoverflow richtig wäre (da fehlen aber schon offensichtlich Semikola oder wie man den Plural bildet), dann müsste es gehen, wenn du das hier vor "finished" im Code eingibst, ca 890 oder so:
  eCharts_pO 'var MadMaxoption_'.$name.' = {"toolbox": {"formatter" : (params) => { var xTime = new Date(params[0].axisValue); let tooltip = `<p>${xTime.toLocaleString()}</p> `; series.forEach((serie, index) => { value = serie.data.reduce((prev, curr) => Math.abs(new Date(curr.value[0]).valueOf() - xTime.valueOf()) < Math.abs(new Date(prev.value[0]).valueOf() - xTime.valueOf()) ? curr : prev).value[1];    tooltip += `<p><span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color: ${myChart.getVisual({ seriesIndex: index }, "color")}"></span>`; tooltip += `${serie.name} &emsp;&emsp; <b>${value}</b></p>`; }); return tooltip; }}}';
  eCharts_pO 'myChart_'.$name.'.setOption(MadMaxoption_'.$name.');';
Geht bei mir aber nicht. Also müsste der workaround falsch sein, oder?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann