Apex Card configuration cartes - reboots

Mon problème

Bonjour,

J’ai installé la carte ApexCharts et je n’ai que des soucis lorsque j’interviens dessus, j’ai des reboots de home assistant quand je configure la carte.

Dans un premier temps, je voulais faire une carte sur le download et upload de ma freebox (graphique) et ajouter min & max pour les 2 sur la semaine par exemple.

j’ai abandonné à cause de reboot, du coup, j’ai voulu faire le même principe avec une prise connecté sur une journée.

j’ai des loading… et je suis déconnecté, redemarrage etc.

Ci dessous le début de la carte :


type: custom:apexcharts-card
update_interval: 10min
graph_span: 24h
header:
  show: true
  title: ApexCharts-Card
  show_states: true
  colorize_states: true
series:
  - entity: sensor.smart_plug_electric_consumption_w_8
    type: column
    group_by:
      duration: 30m
      func: avg
  - entity: sensor.smart_plug_electric_consumption_w_8
    group_by:
      duration: 1d
      func: max

Merci de votre aide.

Ma configuration


System Health

version core-2022.2.9
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.7
os_name Linux
os_version 5.10.92-v8
arch aarch64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4914
Installed Version 1.23.0
Stage running
Available Repositories 1073
Downloaded Repositories 6
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 7.4
update_channel stable
supervisor_version supervisor-2022.01.1
docker_version 20.10.9
disk_total 58.9 GB
disk_used 7.0 GB
healthy true
supported true
board rpi3-64
supervisor_api ok
version_api ok
installed_addons Samba share (9.5.1), Terminal & SSH (9.3.0), Studio Code Server (4.1.0), Z-Wave JS to MQTT (0.35.2), Samba Backup (5.0.0)
Lovelace
dashboards 1
resources 5
views 2
mode storage
___

Salut,

La carte s’exécute en grande partie coté client… donc c’est assez étonnant que ce soit la cause du reboot.
A mon avis, et plus généralement c’est plus dans les logs HA qu’il faut aller chercher un début de piste

1 « J'aime »

J’ai abandonné pour une partie de la journée, le temps file…
chaque action est longue à cause du loading…

j’ai eu le temps ce midi de me faire à manger, de manger, le loading était encore en cours.

suite à ton message, je suis allé voir dans les logs, l’installation est récente il n’y a quasi rien dessus.
des fois ça me le fait sur le « Sauvegarder » alors que le rendu est bon, et le sauvegarder tourne, tourne… et puis message de reconnection…

2022-02-26 13:26:00 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-02-26 13:26:03 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly
2022-02-26 13:26:03 WARNING (Recorder) [homeassistant.components.recorder.util] Ended unfinished session (id=39 from 2022-02-26 12:16:07.734111)
[320779.090957] Out of memory: Killed process 42670 (python3) total-vm:842840kB, anon-rss:510968kB, file-rss:3276kB, shmem-rss:0kB, UID:0 pgtables:1628kB oom_score_adj:0

ça c’est probablement une conséquence de tes arrêts. La base est corrompue et pas exploitable. Tu peux efface le fichier en question (c’est pas la config). Tu perds juste l’historiques des valeurs. Ensuite reboot pour qu’elle se recrée

ça c’est fâcheux par contre on sait pas le relier à autre chose

Si tu as la main, désactive cet add-on. Chez moi la version 4.1 est vraiment pénible avec une charge cpu à 100% dès que j’édite un fichier. Sur une petite config, c’est possible que le fonctionnement soit encore plus perturbé

1 « J'aime »

J’ai un problème récurrent avec le transform (c’est peu être un manque de connaissance en JS) :

    transform:  return Number(x)* 10 ; okay  (=10 * x)

mais

 transform:  return Number(x)* 10 + 5 ;     pas okay  (=10 * x)
 transform: return Number(x*10 +5) ;     pas okay  (=10 * x)
 transform: return Number(x*10) + Number(5) ;  pas okay  (=10 * x)

et

    transform: return Number(x) + Number(5) ;  pas okay  (= x)
    transform: return Number(x + 5) ; pas okay  (= x)

bref impossible de faire une addition…

et ça ?

transform:  "return x * 10;"

La multiplication fonctionne,
c’est l’addition qui ne fonctionne pas même avec les guillemets

C’est un entier ?

transform:  "return parseInt(x) + 5;"

Sinon parseFloat existe aussi

transform: return parseFloat(x) + parseFloat(30);

= x
Même soucie… Avec et sans guillemet.

transform: >-
      return 10 - parseFloat(x);

= -x

Tu es certain de la qualité des données en entrée ?
Chez moi ça marche

Merci Pulpy, est ce que ceci te donne quelque chose (autre que 0) de ton coté? :


merci pour ton aide ,…

Copie/colle le code, stp, ça sera plus facile qu’une image.
Par ailleurs, un graph sur 1 mois, en fonction de la quantité des points ça fait pas mal de valeurs, donc pas forcément rapide à calculer ou afficher

t’as vu juste en supprimant le group by la transform fonctionne correctement : 10 + 20 = 30

J’ai rien vu; j’ai pas encore testé ton code

Voila j’ai réussi a synthétisé le problème :
Dans ce cas ci
Je me sert de group_by, func: diff pour calculer une consommation journalière :

type: custom:apexcharts-card
header:
  show: true
  title: ApexCharts-Card
  show_states: true
  colorize_states: true
graph_span: 3d
series:
  - entity: sensor.general_power_base
    statistics:
      type: state
      period: hour
    transform: return x + 10;
    group_by:
      duration: 1d
      func: diff
    type: column

Je souhaitais en afficher le coup en multipliant par le Prix/kWh et en additionnant la part fixe mais l’addition ne fonctionne pas avec la func diff

Je pense que la meilleur solution afin de contourné ce bug est de créer un utility counter journalier. Ainsi de me passer de la func group by diff ?

Je crois comprendre que le X de transform n’est pas affecté par le group by qui est appliqué plus tard apres la function Transform

Oui mais il n’y a pas que ça… Le statistics aussi
apex