Fonction de comptage sous node-red

comment expliquer … j’aimerai creer une fonction pour surveiller l’etat d’une carte prépayée pour passer le pont de normandie … je passe dessus tous les week-end pour aller voir mes parents

en gros vu que j’ai owntrack a chaque fois que je passe le pont de normandie
la fonction doit retirer -6.4€
il y a aussi une entrée recharge qui doit recharger de +30
la valeur initiale du resultat est de 34€ (que j’ai actuellement sur ma carte)

relativement simple … mais bon en fonction code etc …
j’en ai deja fait un peu ^^ du C
pas le java meme si ca doit ressemble un peu :slight_smile:

en gros quelque chose comme ca …

quand je recois le mail de confirmation apres avoir rajouté +30 à ma carte prépayé,
ca doit incremanter la fonction de +30 en sortie

a chaque fois que je vais chez mes parents que je passe le pont ca retire -6.4

apres le but c’est de creer une Alarme si le solde en sortie est inferieur à -6.4
car apres je dois payer 5.80 au lieu de 3.20 si ma carte est vide …

mais la fonction de comptage foire …
je galere avec chatGPT
il comprend pas ce que je veux faire
c’est pourtant simple :rofl:
et j’arrive pas trop bien à comprendre :rofl:
son code …

code de la fonction créé par :scream_cat:GPT

// Stocker le solde actuel de la carte (initialisé à 34€)
var solde = 34;

// Coût d'un aller-retour
var coutAllerRetour = 6.4;

// Récupérer la valeur de msg.payload (retrait ou recharge)
var operation = msg.payload;

// Vérifier l'opération et mettre à jour le solde en conséquence
if (operation === "retrait") {
    solde -= coutAllerRetour;
} else if (operation === "recharge") {
    solde += 30;
}

// Mettre à jour le statut du nœud avec le nouveau solde
node.status({ fill: "green", shape: "dot", text: "Solde : " + solde + "€" });

// Envoyer le solde mis à jour en sortie
msg.payload = solde;

// Renvoyer le message modifié
return msg;

je vous remercie.

:slight_smile:

Ma configuration


[center]## System Information

version core-2023.8.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.21-v7l
arch armv7l
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4996
Installed Version 1.32.1
Stage running
Available Repositories 1273
Downloaded Repositories 8
Home Assistant Cloud
logged_in true
subscription_expiration 1 janvier 2018 à 01:00
relayer_connected false
relayer_region null
remote_enabled false
remote_connected false
alexa_enabled true
google_enabled true
remote_server null
certificate_status null
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.5
update_channel stable
supervisor_version supervisor-2023.08.1
agent_version 1.5.1
docker_version 23.0.6
disk_total 57.8 GB
disk_used 8.4 GB
healthy true
supported true
board rpi4
supervisor_api ok
version_api ok
installed_addons Samba share (10.0.2), File editor (5.6.0), Duck DNS (1.15.0), Mosquitto broker (6.2.1), ESPHome (2023.8.2), Home Assistant Google Drive Backup (0.111.1), Spotify Connect (0.12.4), AdGuard Home (4.8.14), Node-RED (14.4.5), Zigbee2MQTT (1.32.2-1), Terminal & SSH (9.7.1), InfluxDB (4.7.0), Grafana (9.0.3)
Dashboards
dashboards 1
resources 6
views 5
mode storage
Recorder
oldest_recorder_run 17 août 2023 à 14:25
current_recorder_run 27 août 2023 à 12:37
estimated_db_size 83.25 MiB
database_engine sqlite
database_version 3.41.2
[/center] ___

j’ai remplacé ON/OFF du switch par topic … c’est mieux !

image