Bitte um Hilfe bei Script für ApexCharts Card

Ich arbeite seit kurzem mit den ApexCharts Cards und stoße hier leider immer wieder auf Probleme da die Dokumentation, meines Erachtens, zu oberflächlich gehalten ist.

Momentan stehe ich vor einem Problem, mit den Data Labels.

Diese Zeigen mir nämlich seltsamer Weise andere Werte an als die Tooltips.
Und das, obwohl die Datenquelle und das Script ident ist.

Im Tooltip wird mir beim Mouse Over der korrekte Stunden:Minuten Wert angezeigt. 9:54 und 14:06

In den Data Labels ist der Wert für mich nicht nachvollziehbar.

Apex Pie

Hat vielleicht Jemand eine Idee?

Bin auch für Vermutungen dankbar weil vielleicht bringt mich das ja auf die richtige Lösung.

Edit:
Achja, ohne Code wird das wohl schwer. :sweat_smile:

type: custom:apexcharts-card
chart_type: pie
apex_config:
  plotOptions:
    pie:
      donut:
        total:
          show: true
          showAlways: true
  tooltip:
    'x':
      format: dddd dd.MM.yyyy
    'y':
      formatter: |
        EVAL:function(value) {
        // Check sign of given number
          var number = value
          var sign = (number >= 0) ? 1 : -1;
        // Set positive value of number of sign negative
          number = number * sign;
        // Separate the int from the decimal part
          var hour = Math.floor(number);
          var decpart = number - hour;
          var min = 1 / 60;
        // Round to nearest minute
          decpart = min * Math.round(decpart / min);
          var minute = Math.floor(decpart * 60) + '';
        // Add padding if need
          if (minute.length < 2) {
          minute = '0' + minute; 
          }
        // Add Sign in final result
          sign = sign == 1 ? '' : '-';
        // Concate hours and minutes
          time = sign + hour + ':' + minute;
          return time;
        // source: https://speedysense.com/convert-float-to-time-in-javascript/
        }  
  dataLabels:
    enabled: true
    style:
      colors:
        - '#1e1e1e'
    background:
      enabled: true
      foreColor: '#ffffff'
    formatter: |
      EVAL:function(value) {
      // Check sign of given number
        var number = value
        var sign = (number >= 0) ? 1 : -1;
      // Set positive value of number of sign negative
        number = number * sign;
      // Separate the int from the decimal part
        var hour = Math.floor(number);
        var decpart = number - hour;
        var min = 1 / 60;
      // Round to nearest minute
        decpart = min * Math.round(decpart / min);
        var minute = Math.floor(decpart * 60) + '';
      // Add padding if need
        if (minute.length < 2) {
        minute = '0' + minute; 
        }
      // Add Sign in final result
        sign = sign == 1 ? '' : '-';
      // Concate hours and minutes
        time = sign + hour + ':' + minute;
        return time;
      // source: https://speedysense.com/convert-float-to-time-in-javascript/
      }      
header:
  show: false
  show_states: true
  colorize_states: true
all_series_config:
  show:
    header_color_threshold: false
    datalabels: true
  unit: Stunden
  transform: return x /3600
color_list:
  - '#00bfff'
  - '#00008b'
series:
  - entity: sensor.tageslange_in_sekunden
    name: Tag
    group_by:
      func: last
      duration: 1d
  - entity: sensor.tagesdauer_nachtstunden
    name: Nacht
    group_by:
      func: last
      duration: 1d

Danke!