Set context array not working

To put it simply, I'm trying to collect around 400 defaults coming from a PLC. I have the communication and default collection working. I have to treat the data and format it to send it in a database.
The error I keep having:

TypeError: Cannot read property 'getHours' of undefined

My problem is, it looks like I'm using the context.get and context.set badly.

Here is part of the flow, just the test for the function block:

[{"id":"d31fab40.5f1848","type":"function","z":"194b9578.c4981b","name":"defautV2","func":"var payload = msg.payload;\nvar topic = String(msg.topic);\ncontext.set(\"Etat\", []);\ncontext.set(\"Start\", []);\ncontext.set(\"End\",[]);\nvar tabDef=[\"701M1 Pompe hydraulique 2 Pas dĂ©marrer\",\"701M1 Pompe hydraulique 2 Pas marcher\",\"701M1 Pompe hydraulique 2 SĂ©curitĂ©\",\"701M1 Pompe hydraulique 2 NotHealthy\",\"701M1 Pompe hydraulique 2 Alarme frein\",\"701M1 Pompe hydraulique 2 Alimentation\",\"701M1 Pompe hydraulique 2 Bus loss\",\"701M1 Pompe hydraulique 2 Contacteur\",\"702M1 Pompe hydraulique 1 Pas dĂ©marrer\",\"702M1 Pompe hydraulique 1 Pas marcher\",\"702M1 Pompe hydraulique 1 SĂ©curitĂ©\",\"702M1 Pompe hydraulique 1 NotHealthy\",\"702M1 Pompe hydraulique 1 Alarme frein\",\"702M1 Pompe hydraulique 1 Alimentation\",\"702M1 Pompe hydraulique 1 Bus loss\",\"702M1 Pompe hydraulique 1 Contacteur\",\"703M1 Pompe hydraulique 3 Pas dĂ©marrer\",\"703M1 Pompe hydraulique 3 Pas marcher\",\"703M1 Pompe hydraulique 3 SĂ©curitĂ©\",\"703M1 Pompe hydraulique 3 NotHealthy\",\"703M1 Pompe hydraulique 3 Alarme frein\",\"703M1 Pompe hydraulique 3 Alimentation\",\"703M1 Pompe hydraulique 3 Bus loss\",\"703M1 Pompe hydraulique 3 Contacteur\",\"704M1 Hydraulique refroidissement Pas dĂ©marrer\",\"704M1 Hydraulique refroidissement Pas marcher\",\"704M1 Hydraulique refroidissement SĂ©curitĂ©\",\"704M1 Hydraulique refroidissement NotHealthy\",\"704M1 Hydraulique refroidissement Alarme frein\",\"704M1 Hydraulique refroidissement Alimentation\",\"704M1 Hydraulique refroidissement Bus loss\",\"704M1 Hydraulique refroidissement Contacteur\",\"705R1 Hydraulique chauffage Pas dĂ©marrer\",\"705R1 Hydraulique chauffage Pas marcher\",\"705R1 Hydraulique chauffage SĂ©curitĂ©\",\"705R1 Hydraulique chauffage NotHealthy\",\"705R1 Hydraulique chauffage Alarme frein\",\"705R1 Hydraulique chauffage Alimentation\",\"705R1 Hydraulique chauffage Bus loss\",\"705R1 Hydraulique chauffage Contacteur\",\"706M1 Pompe hydraulique 5 Pas dĂ©marrer\",\"706M1 Pompe hydraulique 5 Pas marcher\",\"706M1 Pompe hydraulique 5 SĂ©curitĂ©\",\"706M1 Pompe hydraulique 5 NotHealthy\",\"706M1 Pompe hydraulique 5 Alarme frein\",\"706M1 Pompe hydraulique 5 Alimentation\",\"706M1 Pompe hydraulique 5 Bus loss\",\"706M1 Pompe hydraulique 5 Contacteur\",\"710M1 Rouleau avant panier 1 Pas dĂ©marrer\",\"710M1 Rouleau avant panier 1 Pas marcher\",\"710M1 Rouleau avant panier 1 SĂ©curitĂ©\",\"710M1 Rouleau avant panier 1 NotHealthy\",\"710M1 Rouleau avant panier 1 Alarme frein\",\"710M1 Rouleau avant panier 1 Alimentation\",\"710M1 Rouleau avant panier 1 Bus loss\",\"710M1 Rouleau avant panier 1 Contacteur\",\"711M1 Rouleau panier 1 Pas dĂ©marrer\",\"711M1 Rouleau panier 1 Pas marcher\",\"711M1 Rouleau panier 1 SĂ©curitĂ©\",\"711M1 Rouleau panier 1 NotHealthy\",\"711M1 Rouleau panier 1 Alarme frein\",\"711M1 Rouleau panier 1 Alimentation\",\"711M1 Rouleau panier 1 Bus loss\",\"711M1 Rouleau panier 1 Contacteur\",\"716M1 Rouleau avant panier 2 Pas dĂ©marrer\",\"716M1 Rouleau avant panier 2 Pas marcher\",\"716M1 Rouleau avant panier 2 SĂ©curitĂ©\",\"716M1 Rouleau avant panier 2 NotHealthy\",\"716M1 Rouleau avant panier 2 Alarme frein\",\"716M1 Rouleau avant panier 2 Alimentation\",\"716M1 Rouleau avant panier 2 Bus loss\",\"716M1 Rouleau avant panier 2 Contacteur\",\"717M1 Rouleau panier 2 Pas dĂ©marrer\",\"717M1 Rouleau panier 2 Pas marcher\",\"717M1 Rouleau panier 2 SĂ©curitĂ©\",\"717M1 Rouleau panier 2 NotHealthy\",\"717M1 Rouleau panier 2 Alarme frein\",\"717M1 Rouleau panier 2 Alimentation\",\"717M1 Rouleau panier 2 Bus loss\",\"717M1 Rouleau panier 2 Contacteur\",\"719M1 Rouleau avant panier 3 Pas dĂ©marrer\",\"719M1 Rouleau avant panier 3 Pas marcher\",\"719M1 Rouleau avant panier 3 SĂ©curitĂ©\",\"719M1 Rouleau avant panier 3 NotHealthy\",\"719M1 Rouleau avant panier 3 Alarme frein\",\"719M1 Rouleau avant panier 3 Alimentation\",\"719M1 Rouleau avant panier 3 Bus loss\",\"719M1 Rouleau avant panier 3 Contacteur\",\"720M1 Rouleau panier 3 Pas dĂ©marrer\",\"720M1 Rouleau panier 3 Pas marcher\",\"720M1 Rouleau panier 3 SĂ©curitĂ©\",\n\"720M1 Rouleau panier 3 NotHealthy\",\"720M1 Rouleau panier 3 Alarme frein\",\"720M1 Rouleau panier 3 Alimentation\",\"720M1 Rouleau panier 3 Bus loss\",\"720M1 Rouleau panier 3 Contacteur\",\"721M1 Rouleau avant panier 4 Pas dĂ©marrer\",\"721M1 Rouleau avant panier 4 Pas marcher\",\"721M1 Rouleau avant panier 4 SĂ©curitĂ©\",\"721M1 Rouleau avant panier 4 NotHealthy\",\"721M1 Rouleau avant panier 4 Alarme frein\",\"721M1 Rouleau avant panier 4 Alimentation\",\"721M1 Rouleau avant panier 4 Bus loss\",\"721M1 Rouleau avant panier 4 Contacteur\",\"722M1 Rouleau panier 4 Pas dĂ©marrer\",\"722M1 Rouleau panier 4 Pas marcher\",\"722M1 Rouleau panier 4 SĂ©curitĂ©\",\"722M1 Rouleau panier 4 NotHealthy\",\"722M1 Rouleau panier 4 Alarme frein\",\"722M1 Rouleau panier 4 Alimentation\",\"722M1 Rouleau panier 4 Bus loss\",\"722M1 Rouleau panier 4 Contacteur\",\"723M1 Rouleau avant panier 5 Pas dĂ©marrer\",\"723M1 Rouleau avant panier 5 Pas marcher\",\"723M1 Rouleau avant panier 5 SĂ©curitĂ©\",\"723M1 Rouleau avant panier 5 NotHealthy\",\"723M1 Rouleau avant panier 5 Alarme frein\",\"723M1 Rouleau avant panier 5 Alimentation\",\"723M1 Rouleau avant panier 5 Bus loss\",\"723M1 Rouleau avant panier 5 Contacteur\",\"724M1 Rouleau panier 5 Pas dĂ©marrer\",\"724M1 Rouleau panier 5 Pas marcher\",\"724M1 Rouleau panier 5 SĂ©curitĂ©\",\"724M1 Rouleau panier 5 NotHealthy\",\"724M1 Rouleau panier 5 Alarme frein\",\"724M1 Rouleau panier 5 Alimentation\",\"724M1 Rouleau panier 5 Bus loss\",\"724M1 Rouleau panier 5 Contacteur\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Pas dĂ©marrer\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Pas marcher\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 SĂ©curitĂ©\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 NotHealthy\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Alarme frein\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Alimentation\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Bus loss\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Contacteur\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Pas dĂ©marrer\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Pas marcher\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 SĂ©curitĂ©\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 NotHealthy\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Alarme frein\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Alimentation\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Bus loss\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Contacteur\",\"729M1 Charriot 1-2 tĂȘte transfert Pas dĂ©marrer\",\"729M1 Charriot 1-2 tĂȘte transfert Pas marcher\",\"729M1 Charriot 1-2 tĂȘte transfert SĂ©curitĂ©\",\"729M1 Charriot 1-2 tĂȘte transfert NotHealthy\",\"729M1 Charriot 1-2 tĂȘte transfert Alarme frein\",\"729M1 Charriot 1-2 tĂȘte transfert Alimentation\",\"729M1 Charriot 1-2 tĂȘte transfert Bus loss\",\"729M1 Charriot 1-2 tĂȘte transfert Contacteur\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Pas dĂ©marrer\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Pas marcher\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 SĂ©curitĂ©\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 NotHealthy\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Alarme frein\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Alimentation\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Bus loss\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Contacteur\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Pas dĂ©marrer\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Pas marcher\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 SĂ©curitĂ©\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 NotHealthy\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Alarme frein\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Alimentation\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Bus loss\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Contacteur\",\"732M1 Charriot 3-4 tĂȘte transfert Pas dĂ©marrer\",\"732M1 Charriot 3-4 tĂȘte transfert Pas marcher\",\"732M1 Charriot 3-4 tĂȘte transfert SĂ©curitĂ©\",\"732M1 Charriot 3-4 tĂȘte transfert NotHealthy\",\"732M1 Charriot 3-4 tĂȘte transfert Alarme frein\",\"732M1 Charriot 3-4 tĂȘte transfert Alimentation\",\"732M1 Charriot 3-4 tĂȘte transfert Bus loss\",\"732M1 Charriot 3-4 tĂȘte transfert Contacteur\",\"733M1 Ventilo aspiration Pas dĂ©marrer\",\"733M1 Ventilo aspiration Pas marcher\",\"733M1 Ventilo aspiration SĂ©curitĂ©\",\"733M1 Ventilo aspiration NotHealthy\",\"733M1 Ventilo aspiration Alarme frein\",\"733M1 Ventilo aspiration Alimentation\",\n\"733M1 Ventilo aspiration Bus loss\",\"733M1 Ventilo aspiration Contacteur\",\"740M1 Ventilo aspiration Pas dĂ©marrer\",\"740M1 Ventilo aspiration Pas marcher\",\"740M1 Ventilo aspiration SĂ©curitĂ©\",\"740M1 Ventilo aspiration NotHealthy\",\"740M1 Ventilo aspiration Alarme frein\",\"740M1 Ventilo aspiration Alimentation\",\"740M1 Ventilo aspiration Bus loss\",\"740M1 Ventilo aspiration Contacteur\",\"741M1 Convoyeur plateforme 1-2 Pas dĂ©marrer\",\"741M1 Convoyeur plateforme 1-2 Pas marcher\",\"741M1 Convoyeur plateforme 1-2 SĂ©curitĂ©\",\"741M1 Convoyeur plateforme 1-2 NotHealthy\",\"741M1 Convoyeur plateforme 1-2 Alarme frein\",\"741M1 Convoyeur plateforme 1-2 Alimentation\",\"741M1 Convoyeur plateforme 1-2 Bus loss\",\"741M1 Convoyeur plateforme 1-2 Contacteur\",\"742M1 Convoyeur plateforme 3-4 Pas dĂ©marrer\",\"742M1 Convoyeur plateforme 3-4 Pas marcher\",\"742M1 Convoyeur plateforme 3-4 SĂ©curitĂ©\",\"742M1 Convoyeur plateforme 3-4 NotHealthy]\",\"742M1 Convoyeur plateforme 3-4 Alarme frein\",\"742M1 Convoyeur plateforme 3-4 Alimentation\",\"742M1 Convoyeur plateforme 3-4 Bus loss\",\"742M1 Convoyeur plateforme 3-4 Contacteur\",\"743M1 Convoyeur 1 Pas dĂ©marrer\",\"743M1 Convoyeur 1 Pas marcher\",\"743M1 Convoyeur 1 SĂ©curitĂ©\",\"743M1 Convoyeur 1 NotHealthy\",\"743M1 Convoyeur 1 Alarme frein\",\"743M1 Convoyeur 1 Alimentation\",\"743M1 Convoyeur 1 Bus loss\",\"743M1 Convoyeur 1 Contacteur\",\"744M1 Convoyeur 2 Pas dĂ©marrer\",\"744M1 Convoyeur 2 Pas marcher\",\"744M1 Convoyeur 2 SĂ©curitĂ©\",\"744M1 Convoyeur 2 NotHealthy\",\"744M1 Convoyeur 2 Alarme frein\",\"744M1 Convoyeur 2 Alimentation\",\"744M1 Convoyeur 2 Bus loss\",\"744M1 Convoyeur 2 Contacteur\",\"745M1 Convoyeur rebuts Pas dĂ©marrer\",\"745M1 Convoyeur rebuts Pas marcher\",\"745M1 Convoyeur rebuts SĂ©curitĂ©\",\"745M1 Convoyeur rebuts NotHealthy\",\"745M1 Convoyeur rebuts Alarme frein\",\"745M1 Convoyeur rebuts Alimentation\",\"745M1 Convoyeur rebuts Bus loss\",\"745M1 Convoyeur rebuts Contacteur\",\"746M1 Convoyeur aprĂšs rebut Pas dĂ©marrer\",\"746M1 Convoyeur aprĂšs rebut Pas marcher\",\"746M1 Convoyeur aprĂšs rebut SĂ©curitĂ©\",\"746M1 Convoyeur aprĂšs rebut NotHealthy\",\"746M1 Convoyeur aprĂšs rebut Alarme frein\",\"746M1 Convoyeur aprĂšs rebut Alimentation\",\"746M1 Convoyeur aprĂšs rebut Bus loss\",\"746M1 Convoyeur aprĂšs rebut Contacteur\",\"747M1 Rouleau alignement Pas dĂ©marrer\",\"747M1 Rouleau alignement Pas marcher\",\"747M1 Rouleau alignement SĂ©curitĂ©\",\"747M1 Rouleau alignement NotHealthy\",\"747M1 Rouleau alignement Alarme frein\",\"747M1 Rouleau alignement Alimentation\",\"747M1 Rouleau alignement Bus loss\",\"747M1 Rouleau alignement Contacteur\",\"748M1 Convoyeur colle Pas dĂ©marrer\",\"748M1 Convoyeur colle Pas marcher\",\"748M1 Convoyeur colle SĂ©curitĂ©\",\"748M1 Convoyeur colle NotHealthy\",\"748M1 Convoyeur colle Alarme frein\",\"748M1 Convoyeur colle Alimentation\",\"748M1 Convoyeur colle Bus loss\",\"748M1 Convoyeur colle Contacteur\",\"748M2 Pressure belt Pas dĂ©marrer\",\"748M2 Pressure belt Pas marcher\",\"748M2 Pressure belt SĂ©curitĂ©\",\"748M2 Pressure belt NotHealthy\",\"748M2 Pressure belt Alarme frein\",\"748M2 Pressure belt Alimentation\",\"748M2 Pressure belt Bus loss\",\"748M2 Pressure belt Contacteur\",\"750M1 Charriot 5 ventilo Pas dĂ©marrer\",\"750M1 Charriot 5 ventilo Pas marcher\",\"750M1 Charriot 5 ventilo SĂ©curitĂ©\",\"750M1 Charriot 5 ventilo NotHealthy\",\"750M1 Charriot 5 ventilo Alarme frein\",\"750M1 Charriot 5 ventilo Alimentation\",\"750M1 Charriot 5 ventilo Bus loss\",\"750M1 Charriot 5 ventilo Contacteur\",\"751M1 Charriot 5 transfert Pas dĂ©marrer\",\"751M1 Charriot 5 transfert Pas marcher\",\"751M1 Charriot 5 transfert SĂ©curitĂ©\",\"751M1 Charriot 5 transfert NotHealthy\",\"751M1 Charriot 5 transfert Alarme frein\",\"751M1 Charriot 5 transfert Alimentation\",\"751M1 Charriot 5 transfert Bus loss\",\"751M1 Charriot 5 transfert Contacteur\",\n\"761M1 Convoyeur aprĂšs colle Pas dĂ©marrer\",\"761M1 Convoyeur aprĂšs colle Pas marcher\",\"761M1 Convoyeur aprĂšs colle SĂ©curitĂ©\",\"761M1 Convoyeur aprĂšs colle NotHealthy\",\"761M1 Convoyeur aprĂšs colle Alarme frein\",\"761M1 Convoyeur aprĂšs colle Alimentation\",\"761M1 Convoyeur aprĂšs colle Bus loss\",\"761M1 Convoyeur aprĂšs colle Contacteur\",\"766M1 Mouvement table Pas dĂ©marrer\",\"766M1 Mouvement table Pas marcher\",\"766M1 Mouvement table SĂ©curitĂ©\",\"766M1 Mouvement table NotHealthy\",\"766M1 Mouvement table Alarme frein\",\"766M1 Mouvement table Alimentation\",\"766M1 Mouvement table Bus loss\",\"766M1 Mouvement table Contacteur\",\",767M1 Convoyeur table Pas dĂ©marrer\",\"767M1 Convoyeur table Pas marcher\",\"767M1 Convoyeur table SĂ©curitĂ©\",\"767M1 Convoyeur table NotHealthy\",\"767M1 Convoyeur table Alarme frein\",\"767M1 Convoyeur table Alimentation\",\"767M1 Convoyeur table Bus loss\",\"767M1 Convoyeur table Contacteur\",\"769M1 Rouleau End de ligne Pas dĂ©marrer\",\"769M1 Rouleau End de ligne Pas marcher\",\"769M1 Rouleau End de ligne SĂ©curitĂ©\",\"769M1 Rouleau End de ligne NotHealthy\",\"769M1 Rouleau End de ligne Alarme frein\",\"769M1 Rouleau End de ligne Alimentation\",\"769M1 Rouleau End de ligne Bus loss\",\"769M1 Rouleau End de ligne Contacteur\",\"774M1 Convoyeur plateforme 5 Pas dĂ©marrer\",\"774M1 Convoyeur plateforme 5 Pas marcher\",\"774M1 Convoyeur plateforme 5 SĂ©curitĂ©\",\"774M1 Convoyeur plateforme 5 NotHealthy\",\"774M1 Convoyeur plateforme 5 Alarme frein\",\"774M1 Convoyeur plateforme 5 Alimentation\",\"774M1 Convoyeur plateforme 5 Bus loss\",\"774M1 Convoyeur plateforme 5 Contacteur\",\"777M1 Pile feeder Pas dĂ©marrer\",\"777M1 Pile feeder Pas marcher\",\"777M1 Pile feeder SĂ©curitĂ©\",\"777M1 Pile feeder NotHealthy\",\"777M1 Pile feeder Alarme frein\",\"777M1 Pile feeder Alimentation\",\"777M1 Pile feeder Bus loss\",\"777M1 Pile feeder Contacteur\",\"778M1 Pile rouleau convoyeur Pas dĂ©marrer\",\"778M1 Pile rouleau convoyeur Pas marcher\",\"778M1 Pile rouleau convoyeur SĂ©curitĂ©\",\"778M1 Pile rouleau convoyeur NotHealthy\",\"778M1 Pile rouleau convoyeur Alarme frein\",\"778M1 Pile rouleau convoyeur Alimentation\",\"778M1 Pile rouleau convoyeur Bus loss\",\"778M1 Pile rouleau convoyeur Contacteur\",\"779M1 Rouleau convoyeur End ligne Pas dĂ©marrer\",\"779M1 Rouleau convoyeur End ligne Pas marcher\",\"779M1 Rouleau convoyeur End ligne SĂ©curitĂ©\",\"779M1 Rouleau convoyeur End ligne NotHealthy\",\"779M1 Rouleau convoyeur End ligne Alarme frein\",\"779M1 Rouleau convoyeur End ligne Alimentation\",\"779M1 Rouleau convoyeur End ligne Bus loss\",\"779M1 Rouleau convoyeur End ligne Contacteur\",\"780M1 Pile transport convoyeur Pas dĂ©marrer\",\"780M1 Pile transport convoyeur Pas marcher\",\"780M1 Pile transport convoyeur SĂ©curitĂ©\",\"780M1 Pile transport convoyeur NotHealthy\",\"780M1 Pile transport convoyeur Alarme frein\",\"780M1 Pile transport convoyeur Alimentation\",\"780M1 Pile transport convoyeur Bus loss\",\"780M1 Pile transport convoyeur Contacteur\",\"781M1 Pile transfert Pas dĂ©marrer\",\"781M1 Pile transfert Pas marcher\",\"781M1 Pile transfert SĂ©curitĂ©\",\"781M1 Pile transfert NotHealthy\",\"781M1 Pile transfert Alarme frein\",\"781M1 Pile transfert Alimentation\",\"781M1 Pile transfert Bus loss\",\"781M1 Pile transfert Contacteur\",\"HV Panier 1 bas/haut\",\"HV Panier 2 bas/haut\",\"HV Panier 3 bas/haut\",\"HV Panier 4 bas/haut\",\"HV Panier 5 bas/haut\",\"HV Panier colle bas/haut\",\"AV charriot 1 end bas/haut\",\"AV charriot 1 front bas/haut\",\"AV charriot 1 tĂȘte aspiration\",\"AV charriot 2 end bas/haut\",\"AV charriot 2 front bas/haut\",\"AV charriot 2 tĂȘte aspiration\",\"AV charriot 3 end bas/haut\",\"AV charriot 3 front bas/haut\",\"AV charriot 3 tĂȘte aspiration\",\"AV charriot 4 end bas/haut\",\"AV charriot 4 front bas/haut\",\"AV charriot 4 tĂȘte aspiration\",\"AV charriot 5 end bas/haut\",\"AV charriot 5 front bas/haut\",\"AV charriot 5 tĂȘte aspiration\",\"AV 741M1 Convoyeur avec table bas/haut\",\"AV 742M1 Convoyeur avec table bas/haut\",\"AV 745M1 Convoyeur rebut bas/haut\",\"AV 774M1 Face convoyeur table bas/haut\",\"729M1 Charriot 1-2 transfert\",\"730M1 Charriot 3-4 transfert\",\"736M1 pompe colle\",\"739M1 agitateur\",\"740M1 Convoyeur Disc\",\"741M1 Convoyeur table 1-2\",\"742M1 Convoyeur table 3-4\",\"743M1 Convoyeur 1\",\"744M1 Convoyeur 2\",\"745M1 Table rebut convoyeur\",\"746M1 Convoyeur aprĂšs rebut\",\"747M1 rouleau alignement\",\"748M1 Convoyeur colle\",\"748M2 Pressure Belts\",\"751M1 Charriot 5 transfort\",\"761M1 Convoyeur aprĂšs colle\",\n\"766M1 Mouvement table\",\"767M1 Convoyeur table\",\"774M1 Convoyeur table 5\"];\nvar tabEtat = [];\nvar tabStart = [];\nvar tabEnd = [];\nvar Start;\nvar Query;\nvar time;\nvar timeDef;\nvar StimeDef;\nvar date;\n\nfunction GetTime (date){\n    h = date.getHours();\n    m = date.getMinutes();\n    s = date.getSeconds();\n    var t = [h,m,s];\n    return t;\n}\n\nfor(i = 0 ; i < tabDef.length ; i++){\n    if((tabDef[i]==topic) && (payload === true) && (payload !== tabEtat[i])){\n        tabEtat = context.get(\"Etat\")||[];\n        tabEtat[i] = true;\n        context.set(\"Etat\", tabEtat);\n        time = new Date();\n        time = time.getTime()+time.getTimezoneOffset(60);\n        tabStart = context.get(\"Start\")||[];\n        tabStart[i] = time;\n        context.set(\"Start\", tabStart);\n    }else if((tabDef[i]==topic) && (payload === false) && (payload !== tabEtat[i])){\n        tabEtat = context.get(\"Etat\")||[];\n        tabEtat[i] = false;\n        context.set(\"Etat\",tabEtat[i]);\n        time = new Date();\n        time = time.getTime()+time.getTimezoneOffset(60);\n        tabEnd = context.get(\"End\")||[];\n        tabEnd[i] = time;\n        context.set(\"End\", tabEnd);\n        Start = context.get('Start')||[];\n        var StartDiff = GetTime(Start[i]);\n        var EndDiff = GetTime(time);\n        for(j = 0; j < StartDiff.length; j++){\n            timeDef[j] = EndDiff[j] - StartDiff[j];\n        }\n        StimeDef = (\"\"+timeDef[0]+\"\"+timeDef[1]+\"\"+timeDef[2]+\"\");\n        \n        Query = \"INSERT INTO Defauts(Heure, Nom, Duree) VALUES ('\"+Start+\"','\"+topic+\"','\"+StimeDef+\"');\";\n        msg.payload = Query;\n        \n        return msg;\n    }\n    /*msg.payload = (\"failed\"+topic);\n    return msg;*/\n}\n\n","outputs":1,"noerr":0,"x":380,"y":1380,"wires":[["c6380856.c5b2f8"]]},{"id":"c6380856.c5b2f8","type":"debug","z":"194b9578.c4981b","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","x":570,"y":1380,"wires":[]},{"id":"e86febfa.a814a8","type":"inject","z":"194b9578.c4981b","name":"","topic":"767M1 Convoyeur table","payload":"false","payloadType":"bool","repeat":"15","crontab":"","once":true,"onceDelay":"5","x":150,"y":1360,"wires":[["d31fab40.5f1848"]]},{"id":"94075175.0d444","type":"inject","z":"194b9578.c4981b","name":"","topic":"767M1 Convoyeur table","payload":"true","payloadType":"bool","repeat":"10","crontab":"","once":true,"onceDelay":"0.1","x":150,"y":1420,"wires":[["d31fab40.5f1848"]]},{"id":"40158ad9.af9284","type":"inject","z":"194b9578.c4981b","name":"","topic":"774M1 Convoyeur table 5","payload":"false","payloadType":"bool","repeat":"25","crontab":"","once":true,"onceDelay":"20","x":150,"y":1300,"wires":[["d31fab40.5f1848"]]},{"id":"4dde4d73.0b44e4","type":"inject","z":"194b9578.c4981b","name":"","topic":"774M1 Convoyeur table 5","payload":"false","payloadType":"bool","repeat":"20","crontab":"","once":true,"onceDelay":"15","x":150,"y":1480,"wires":[["d31fab40.5f1848"]]}]

I need to have context array to keep track of which default is true and which is false. I'm trying to send the payload when one goes from true to false and only then.

Unfortunately your flow isn't currently importable.Please read the following post How to share code or flow json and then edit the above message.

Or just paste the function node where you are using getHours, but wrap it in ` as above

Your function:

function GetTime (date){..}

requires a date as input and this could be empty:

 Start = context.get('Start')||[];
 var StartDiff = GetTime(Start[i]);

I corrected it but the result is the same...

TypeError: Cannot read property 'getHours' of undefined

//the code
Start = context.get('Start')||[];
var StartDiff = GetTime(Start[i]);

If Start is empty, the GetTime(date) function will give this error.

Start shouldn't be empty since context('Start') is initialized when the payload is true. Or I can't use any index in the array even if the previous one are NULL ?
I don't get why it is empty...

As your function is not behaving as you think it should, go through and add some logging events

https://nodered.org/docs/user-guide/writing-functions

so you can actually see what is happening.

I think I found it, the array was returning the date in milliseconds, which could be just interpreted as an int, I'm trying something right now

You are initialising the array to which has no elements then try to index to one pointed to by I, which doesn't exist..

Okay, stepping through this code for a moment, assuming context variable Start is not set yet. context.get('Start') will return undefined
undefined || [] evaluates to an empty array, meaning it will still crash on the next line as an empty array has no elements to page through. Meaning either an error happens and it stops, or GetTime gets undefined as input, and undefined will indeed have no property getHours.

So check your inputs and outputs again, and make sure the alternative values won’t cause errors either

[edited to remove confusion, should have grabbed my laptop, now has the correct explanation]

I took out the 1st initialization which was reseting my array every time the function block was called.

function GetTime (date){
    var a = new Date(date);
    node.error("date"+a);

Why do i get dateWed Jul 03 2019 08:57:51 GMT+0200 (CEST) that and not an ISODate that I can work with ? Is it because I installed the moment lib to node-red ? I only saw block and no added functions...

It would evaluate to [] empty array.

So when he then immediately access [i] in the next line, that will be undefined.

I guess I could clarify what I want from my function.
I don't need to have all the arrays initialized.
Let's say I have a payload and topic incomming from another node. The topic correspond to the index 50 of tabDef.
I need ONLY the index 50 of the other array to be written and read to be send via payload after.
The others indexes are not important since I use only the one correspondig to tabDef...

I'm not sure if I'm clearer or confusing, sorry...

You are creating a Date object and then appending it to a string when you log it. That will use the Date object's default toString() function which results in what you see.

The Date object has lots of other functions you could call on it to get different representations:

For example a.toISOString()

I know that but why can't I work with the Date object after. I'm not assigning it to my variable...

function GetTime (date){
    var a = new Date(date);
    node.error(a);
    h = a.getHours();
    m = a.getMinutes();
    s = a.getSeconds();
    var t = [h,m,s];
    return t;
}

And I get TypeError: Cannot set property '0' of undefined when the logging of a give me Wed Jul 03 2019 09:49:25 GMT+0200 (CEST) which isn't the classical presentation for a Date Object.

If I use a = a.toISOString() I get TypeError: a.getHours is not a function... I'm totally lost... I don't understand what's happening at all... Is it because I'm on Linux ? Or because of node-red-contrib-moment...

I didn't test the other Date I use on this computer, but they were working fine on a windows one... Why should it be different ?

No, it's because to do h = a.getHours(); requires it in the standard format it initially gets returned in.

very easy to check...

[{"id":"4b9c4437.cd0b8c","type":"inject","z":"efc412de.514dd","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":197,"y":90,"wires":[["ce9df9e7.cfe888"]]},{"id":"ce9df9e7.cfe888","type":"function","z":"efc412de.514dd","name":"no a.toISOString()","func":"var a = new Date();\n   msg.hours = a.getHours();\n   msg.minutes = a.getMinutes();\n   msg.seconds = a.getSeconds();\nreturn msg;","outputs":1,"noerr":0,"x":392,"y":83,"wires":[["3b9e6590.d6177a"]]},{"id":"3b9e6590.d6177a","type":"debug","z":"efc412de.514dd","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":572,"y":83,"wires":[]},{"id":"a6b3e92e.7a2b78","type":"inject","z":"efc412de.514dd","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":194,"y":168,"wires":[["ea61bc57.1b1218"]]},{"id":"ea61bc57.1b1218","type":"function","z":"efc412de.514dd","name":"a.toISOString()","func":"var a = new Date();\n   a = a.toISOString()\n   msg.hours = a.getHours();\n   msg.minutes = a.getMinutes();\n   msg.seconds = a.getSeconds();\nreturn msg;","outputs":1,"noerr":0,"x":379,"y":161,"wires":[["a509821c.f4fa2"]]},{"id":"a509821c.f4fa2","type":"debug","z":"efc412de.514dd","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":538,"y":160,"wires":[]}]

The thing is I'm not using inject methods to get the date. I need to use new Date() because the trigger for the node is comming from a PLC-Node reading data in a PLC when they change.

But you way worked... Is it because it is a Timestamp and not a Date ?
I don't get it, I use it on windows and it works... Linux doesn't...

Sorry, but it isn't clear who you are replying to. What code have you now got?
Which code works on Windows but not on Linux?

There is no platform dependency to any of the code we've shared with you - the Date object is the same.

What do you see for

node.warn("date is" + typeof date +": "+ date )
node.warn("typeof a is " + typeof a )

[Edit] There was a " missing above, now corrected

Sorry, I went on and tried it on Windows and you're right OS is not important, I got the same errors.

Which means it come from Date.

The node who doesn't work

[{"id":"d31fab40.5f1848","type":"function","z":"194b9578.c4981b","name":"defautV2","func":"var tabDef=[\"701M1 Pompe hydraulique 2 Pas dĂ©marrer\",\"701M1 Pompe hydraulique 2 Pas marcher\",\"701M1 Pompe hydraulique 2 SĂ©curitĂ©\",\"701M1 Pompe hydraulique 2 NotHealthy\",\"701M1 Pompe hydraulique 2 Alarme frein\",\"701M1 Pompe hydraulique 2 Alimentation\",\"701M1 Pompe hydraulique 2 Bus loss\",\"701M1 Pompe hydraulique 2 Contacteur\",\"702M1 Pompe hydraulique 1 Pas dĂ©marrer\",\"702M1 Pompe hydraulique 1 Pas marcher\",\"702M1 Pompe hydraulique 1 SĂ©curitĂ©\",\"702M1 Pompe hydraulique 1 NotHealthy\",\"702M1 Pompe hydraulique 1 Alarme frein\",\"702M1 Pompe hydraulique 1 Alimentation\",\"702M1 Pompe hydraulique 1 Bus loss\",\"702M1 Pompe hydraulique 1 Contacteur\",\"703M1 Pompe hydraulique 3 Pas dĂ©marrer\",\"703M1 Pompe hydraulique 3 Pas marcher\",\"703M1 Pompe hydraulique 3 SĂ©curitĂ©\",\"703M1 Pompe hydraulique 3 NotHealthy\",\"703M1 Pompe hydraulique 3 Alarme frein\",\"703M1 Pompe hydraulique 3 Alimentation\",\"703M1 Pompe hydraulique 3 Bus loss\",\"703M1 Pompe hydraulique 3 Contacteur\",\"704M1 Hydraulique refroidissement Pas dĂ©marrer\",\"704M1 Hydraulique refroidissement Pas marcher\",\"704M1 Hydraulique refroidissement SĂ©curitĂ©\",\"704M1 Hydraulique refroidissement NotHealthy\",\"704M1 Hydraulique refroidissement Alarme frein\",\"704M1 Hydraulique refroidissement Alimentation\",\"704M1 Hydraulique refroidissement Bus loss\",\"704M1 Hydraulique refroidissement Contacteur\",\"705R1 Hydraulique chauffage Pas dĂ©marrer\",\"705R1 Hydraulique chauffage Pas marcher\",\"705R1 Hydraulique chauffage SĂ©curitĂ©\",\"705R1 Hydraulique chauffage NotHealthy\",\"705R1 Hydraulique chauffage Alarme frein\",\"705R1 Hydraulique chauffage Alimentation\",\"705R1 Hydraulique chauffage Bus loss\",\"705R1 Hydraulique chauffage Contacteur\",\"706M1 Pompe hydraulique 5 Pas dĂ©marrer\",\"706M1 Pompe hydraulique 5 Pas marcher\",\"706M1 Pompe hydraulique 5 SĂ©curitĂ©\",\"706M1 Pompe hydraulique 5 NotHealthy\",\"706M1 Pompe hydraulique 5 Alarme frein\",\"706M1 Pompe hydraulique 5 Alimentation\",\"706M1 Pompe hydraulique 5 Bus loss\",\"706M1 Pompe hydraulique 5 Contacteur\",\"710M1 Rouleau avant panier 1 Pas dĂ©marrer\",\"710M1 Rouleau avant panier 1 Pas marcher\",\"710M1 Rouleau avant panier 1 SĂ©curitĂ©\",\"710M1 Rouleau avant panier 1 NotHealthy\",\"710M1 Rouleau avant panier 1 Alarme frein\",\"710M1 Rouleau avant panier 1 Alimentation\",\"710M1 Rouleau avant panier 1 Bus loss\",\"710M1 Rouleau avant panier 1 Contacteur\",\"711M1 Rouleau panier 1 Pas dĂ©marrer\",\"711M1 Rouleau panier 1 Pas marcher\",\"711M1 Rouleau panier 1 SĂ©curitĂ©\",\"711M1 Rouleau panier 1 NotHealthy\",\"711M1 Rouleau panier 1 Alarme frein\",\"711M1 Rouleau panier 1 Alimentation\",\"711M1 Rouleau panier 1 Bus loss\",\"711M1 Rouleau panier 1 Contacteur\",\"716M1 Rouleau avant panier 2 Pas dĂ©marrer\",\"716M1 Rouleau avant panier 2 Pas marcher\",\"716M1 Rouleau avant panier 2 SĂ©curitĂ©\",\"716M1 Rouleau avant panier 2 NotHealthy\",\"716M1 Rouleau avant panier 2 Alarme frein\",\"716M1 Rouleau avant panier 2 Alimentation\",\"716M1 Rouleau avant panier 2 Bus loss\",\"716M1 Rouleau avant panier 2 Contacteur\",\"717M1 Rouleau panier 2 Pas dĂ©marrer\",\"717M1 Rouleau panier 2 Pas marcher\",\"717M1 Rouleau panier 2 SĂ©curitĂ©\",\"717M1 Rouleau panier 2 NotHealthy\",\"717M1 Rouleau panier 2 Alarme frein\",\"717M1 Rouleau panier 2 Alimentation\",\"717M1 Rouleau panier 2 Bus loss\",\"717M1 Rouleau panier 2 Contacteur\",\"719M1 Rouleau avant panier 3 Pas dĂ©marrer\",\"719M1 Rouleau avant panier 3 Pas marcher\",\"719M1 Rouleau avant panier 3 SĂ©curitĂ©\",\"719M1 Rouleau avant panier 3 NotHealthy\",\"719M1 Rouleau avant panier 3 Alarme frein\",\"719M1 Rouleau avant panier 3 Alimentation\",\"719M1 Rouleau avant panier 3 Bus loss\",\"719M1 Rouleau avant panier 3 Contacteur\",\"720M1 Rouleau panier 3 Pas dĂ©marrer\",\"720M1 Rouleau panier 3 Pas marcher\",\"720M1 Rouleau panier 3 SĂ©curitĂ©\",\n\"720M1 Rouleau panier 3 NotHealthy\",\"720M1 Rouleau panier 3 Alarme frein\",\"720M1 Rouleau panier 3 Alimentation\",\"720M1 Rouleau panier 3 Bus loss\",\"720M1 Rouleau panier 3 Contacteur\",\"721M1 Rouleau avant panier 4 Pas dĂ©marrer\",\"721M1 Rouleau avant panier 4 Pas marcher\",\"721M1 Rouleau avant panier 4 SĂ©curitĂ©\",\"721M1 Rouleau avant panier 4 NotHealthy\",\"721M1 Rouleau avant panier 4 Alarme frein\",\"721M1 Rouleau avant panier 4 Alimentation\",\"721M1 Rouleau avant panier 4 Bus loss\",\"721M1 Rouleau avant panier 4 Contacteur\",\"722M1 Rouleau panier 4 Pas dĂ©marrer\",\"722M1 Rouleau panier 4 Pas marcher\",\"722M1 Rouleau panier 4 SĂ©curitĂ©\",\"722M1 Rouleau panier 4 NotHealthy\",\"722M1 Rouleau panier 4 Alarme frein\",\"722M1 Rouleau panier 4 Alimentation\",\"722M1 Rouleau panier 4 Bus loss\",\"722M1 Rouleau panier 4 Contacteur\",\"723M1 Rouleau avant panier 5 Pas dĂ©marrer\",\"723M1 Rouleau avant panier 5 Pas marcher\",\"723M1 Rouleau avant panier 5 SĂ©curitĂ©\",\"723M1 Rouleau avant panier 5 NotHealthy\",\"723M1 Rouleau avant panier 5 Alarme frein\",\"723M1 Rouleau avant panier 5 Alimentation\",\"723M1 Rouleau avant panier 5 Bus loss\",\"723M1 Rouleau avant panier 5 Contacteur\",\"724M1 Rouleau panier 5 Pas dĂ©marrer\",\"724M1 Rouleau panier 5 Pas marcher\",\"724M1 Rouleau panier 5 SĂ©curitĂ©\",\"724M1 Rouleau panier 5 NotHealthy\",\"724M1 Rouleau panier 5 Alarme frein\",\"724M1 Rouleau panier 5 Alimentation\",\"724M1 Rouleau panier 5 Bus loss\",\"724M1 Rouleau panier 5 Contacteur\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Pas dĂ©marrer\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Pas marcher\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 SĂ©curitĂ©\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 NotHealthy\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Alarme frein\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Alimentation\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Bus loss\",\"727M1 Charriot 1-2 tĂȘte ventilo 1 Contacteur\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Pas dĂ©marrer\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Pas marcher\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 SĂ©curitĂ©\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 NotHealthy\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Alarme frein\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Alimentation\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Bus loss\",\"728M1 Charriot 1-2 tĂȘte ventilo 2 Contacteur\",\"729M1 Charriot 1-2 tĂȘte transfert Pas dĂ©marrer\",\"729M1 Charriot 1-2 tĂȘte transfert Pas marcher\",\"729M1 Charriot 1-2 tĂȘte transfert SĂ©curitĂ©\",\"729M1 Charriot 1-2 tĂȘte transfert NotHealthy\",\"729M1 Charriot 1-2 tĂȘte transfert Alarme frein\",\"729M1 Charriot 1-2 tĂȘte transfert Alimentation\",\"729M1 Charriot 1-2 tĂȘte transfert Bus loss\",\"729M1 Charriot 1-2 tĂȘte transfert Contacteur\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Pas dĂ©marrer\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Pas marcher\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 SĂ©curitĂ©\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 NotHealthy\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Alarme frein\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Alimentation\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Bus loss\",\"730M1 Charriot 3-4 tĂȘte ventilo 1 Contacteur\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Pas dĂ©marrer\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Pas marcher\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 SĂ©curitĂ©\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 NotHealthy\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Alarme frein\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Alimentation\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Bus loss\",\"731M1 Charriot 3-4 tĂȘte ventilo 2 Contacteur\",\"732M1 Charriot 3-4 tĂȘte transfert Pas dĂ©marrer\",\"732M1 Charriot 3-4 tĂȘte transfert Pas marcher\",\"732M1 Charriot 3-4 tĂȘte transfert SĂ©curitĂ©\",\"732M1 Charriot 3-4 tĂȘte transfert NotHealthy\",\"732M1 Charriot 3-4 tĂȘte transfert Alarme frein\",\"732M1 Charriot 3-4 tĂȘte transfert Alimentation\",\"732M1 Charriot 3-4 tĂȘte transfert Bus loss\",\"732M1 Charriot 3-4 tĂȘte transfert Contacteur\",\"733M1 Ventilo aspiration Pas dĂ©marrer\",\"733M1 Ventilo aspiration Pas marcher\",\"733M1 Ventilo aspiration SĂ©curitĂ©\",\"733M1 Ventilo aspiration NotHealthy\",\"733M1 Ventilo aspiration Alarme frein\",\"733M1 Ventilo aspiration Alimentation\",\n\"733M1 Ventilo aspiration Bus loss\",\"733M1 Ventilo aspiration Contacteur\",\"740M1 Ventilo aspiration Pas dĂ©marrer\",\"740M1 Ventilo aspiration Pas marcher\",\"740M1 Ventilo aspiration SĂ©curitĂ©\",\"740M1 Ventilo aspiration NotHealthy\",\"740M1 Ventilo aspiration Alarme frein\",\"740M1 Ventilo aspiration Alimentation\",\"740M1 Ventilo aspiration Bus loss\",\"740M1 Ventilo aspiration Contacteur\",\"741M1 Convoyeur plateforme 1-2 Pas dĂ©marrer\",\"741M1 Convoyeur plateforme 1-2 Pas marcher\",\"741M1 Convoyeur plateforme 1-2 SĂ©curitĂ©\",\"741M1 Convoyeur plateforme 1-2 NotHealthy\",\"741M1 Convoyeur plateforme 1-2 Alarme frein\",\"741M1 Convoyeur plateforme 1-2 Alimentation\",\"741M1 Convoyeur plateforme 1-2 Bus loss\",\"741M1 Convoyeur plateforme 1-2 Contacteur\",\"742M1 Convoyeur plateforme 3-4 Pas dĂ©marrer\",\"742M1 Convoyeur plateforme 3-4 Pas marcher\",\"742M1 Convoyeur plateforme 3-4 SĂ©curitĂ©\",\"742M1 Convoyeur plateforme 3-4 NotHealthy]\",\"742M1 Convoyeur plateforme 3-4 Alarme frein\",\"742M1 Convoyeur plateforme 3-4 Alimentation\",\"742M1 Convoyeur plateforme 3-4 Bus loss\",\"742M1 Convoyeur plateforme 3-4 Contacteur\",\"743M1 Convoyeur 1 Pas dĂ©marrer\",\"743M1 Convoyeur 1 Pas marcher\",\"743M1 Convoyeur 1 SĂ©curitĂ©\",\"743M1 Convoyeur 1 NotHealthy\",\"743M1 Convoyeur 1 Alarme frein\",\"743M1 Convoyeur 1 Alimentation\",\"743M1 Convoyeur 1 Bus loss\",\"743M1 Convoyeur 1 Contacteur\",\"744M1 Convoyeur 2 Pas dĂ©marrer\",\"744M1 Convoyeur 2 Pas marcher\",\"744M1 Convoyeur 2 SĂ©curitĂ©\",\"744M1 Convoyeur 2 NotHealthy\",\"744M1 Convoyeur 2 Alarme frein\",\"744M1 Convoyeur 2 Alimentation\",\"744M1 Convoyeur 2 Bus loss\",\"744M1 Convoyeur 2 Contacteur\",\"745M1 Convoyeur rebuts Pas dĂ©marrer\",\"745M1 Convoyeur rebuts Pas marcher\",\"745M1 Convoyeur rebuts SĂ©curitĂ©\",\"745M1 Convoyeur rebuts NotHealthy\",\"745M1 Convoyeur rebuts Alarme frein\",\"745M1 Convoyeur rebuts Alimentation\",\"745M1 Convoyeur rebuts Bus loss\",\"745M1 Convoyeur rebuts Contacteur\",\"746M1 Convoyeur aprĂšs rebut Pas dĂ©marrer\",\"746M1 Convoyeur aprĂšs rebut Pas marcher\",\"746M1 Convoyeur aprĂšs rebut SĂ©curitĂ©\",\"746M1 Convoyeur aprĂšs rebut NotHealthy\",\"746M1 Convoyeur aprĂšs rebut Alarme frein\",\"746M1 Convoyeur aprĂšs rebut Alimentation\",\"746M1 Convoyeur aprĂšs rebut Bus loss\",\"746M1 Convoyeur aprĂšs rebut Contacteur\",\"747M1 Rouleau alignement Pas dĂ©marrer\",\"747M1 Rouleau alignement Pas marcher\",\"747M1 Rouleau alignement SĂ©curitĂ©\",\"747M1 Rouleau alignement NotHealthy\",\"747M1 Rouleau alignement Alarme frein\",\"747M1 Rouleau alignement Alimentation\",\"747M1 Rouleau alignement Bus loss\",\"747M1 Rouleau alignement Contacteur\",\"748M1 Convoyeur colle Pas dĂ©marrer\",\"748M1 Convoyeur colle Pas marcher\",\"748M1 Convoyeur colle SĂ©curitĂ©\",\"748M1 Convoyeur colle NotHealthy\",\"748M1 Convoyeur colle Alarme frein\",\"748M1 Convoyeur colle Alimentation\",\"748M1 Convoyeur colle Bus loss\",\"748M1 Convoyeur colle Contacteur\",\"748M2 Pressure belt Pas dĂ©marrer\",\"748M2 Pressure belt Pas marcher\",\"748M2 Pressure belt SĂ©curitĂ©\",\"748M2 Pressure belt NotHealthy\",\"748M2 Pressure belt Alarme frein\",\"748M2 Pressure belt Alimentation\",\"748M2 Pressure belt Bus loss\",\"748M2 Pressure belt Contacteur\",\"750M1 Charriot 5 ventilo Pas dĂ©marrer\",\"750M1 Charriot 5 ventilo Pas marcher\",\"750M1 Charriot 5 ventilo SĂ©curitĂ©\",\"750M1 Charriot 5 ventilo NotHealthy\",\"750M1 Charriot 5 ventilo Alarme frein\",\"750M1 Charriot 5 ventilo Alimentation\",\"750M1 Charriot 5 ventilo Bus loss\",\"750M1 Charriot 5 ventilo Contacteur\",\"751M1 Charriot 5 transfert Pas dĂ©marrer\",\"751M1 Charriot 5 transfert Pas marcher\",\"751M1 Charriot 5 transfert SĂ©curitĂ©\",\"751M1 Charriot 5 transfert NotHealthy\",\"751M1 Charriot 5 transfert Alarme frein\",\"751M1 Charriot 5 transfert Alimentation\",\"751M1 Charriot 5 transfert Bus loss\",\"751M1 Charriot 5 transfert Contacteur\",\n\"761M1 Convoyeur aprĂšs colle Pas dĂ©marrer\",\"761M1 Convoyeur aprĂšs colle Pas marcher\",\"761M1 Convoyeur aprĂšs colle SĂ©curitĂ©\",\"761M1 Convoyeur aprĂšs colle NotHealthy\",\"761M1 Convoyeur aprĂšs colle Alarme frein\",\"761M1 Convoyeur aprĂšs colle Alimentation\",\"761M1 Convoyeur aprĂšs colle Bus loss\",\"761M1 Convoyeur aprĂšs colle Contacteur\",\"766M1 Mouvement table Pas dĂ©marrer\",\"766M1 Mouvement table Pas marcher\",\"766M1 Mouvement table SĂ©curitĂ©\",\"766M1 Mouvement table NotHealthy\",\"766M1 Mouvement table Alarme frein\",\"766M1 Mouvement table Alimentation\",\"766M1 Mouvement table Bus loss\",\"766M1 Mouvement table Contacteur\",\",767M1 Convoyeur table Pas dĂ©marrer\",\"767M1 Convoyeur table Pas marcher\",\"767M1 Convoyeur table SĂ©curitĂ©\",\"767M1 Convoyeur table NotHealthy\",\"767M1 Convoyeur table Alarme frein\",\"767M1 Convoyeur table Alimentation\",\"767M1 Convoyeur table Bus loss\",\"767M1 Convoyeur table Contacteur\",\"769M1 Rouleau End de ligne Pas dĂ©marrer\",\"769M1 Rouleau End de ligne Pas marcher\",\"769M1 Rouleau End de ligne SĂ©curitĂ©\",\"769M1 Rouleau End de ligne NotHealthy\",\"769M1 Rouleau End de ligne Alarme frein\",\"769M1 Rouleau End de ligne Alimentation\",\"769M1 Rouleau End de ligne Bus loss\",\"769M1 Rouleau End de ligne Contacteur\",\"774M1 Convoyeur plateforme 5 Pas dĂ©marrer\",\"774M1 Convoyeur plateforme 5 Pas marcher\",\"774M1 Convoyeur plateforme 5 SĂ©curitĂ©\",\"774M1 Convoyeur plateforme 5 NotHealthy\",\"774M1 Convoyeur plateforme 5 Alarme frein\",\"774M1 Convoyeur plateforme 5 Alimentation\",\"774M1 Convoyeur plateforme 5 Bus loss\",\"774M1 Convoyeur plateforme 5 Contacteur\",\"777M1 Pile feeder Pas dĂ©marrer\",\"777M1 Pile feeder Pas marcher\",\"777M1 Pile feeder SĂ©curitĂ©\",\"777M1 Pile feeder NotHealthy\",\"777M1 Pile feeder Alarme frein\",\"777M1 Pile feeder Alimentation\",\"777M1 Pile feeder Bus loss\",\"777M1 Pile feeder Contacteur\",\"778M1 Pile rouleau convoyeur Pas dĂ©marrer\",\"778M1 Pile rouleau convoyeur Pas marcher\",\"778M1 Pile rouleau convoyeur SĂ©curitĂ©\",\"778M1 Pile rouleau convoyeur NotHealthy\",\"778M1 Pile rouleau convoyeur Alarme frein\",\"778M1 Pile rouleau convoyeur Alimentation\",\"778M1 Pile rouleau convoyeur Bus loss\",\"778M1 Pile rouleau convoyeur Contacteur\",\"779M1 Rouleau convoyeur End ligne Pas dĂ©marrer\",\"779M1 Rouleau convoyeur End ligne Pas marcher\",\"779M1 Rouleau convoyeur End ligne SĂ©curitĂ©\",\"779M1 Rouleau convoyeur End ligne NotHealthy\",\"779M1 Rouleau convoyeur End ligne Alarme frein\",\"779M1 Rouleau convoyeur End ligne Alimentation\",\"779M1 Rouleau convoyeur End ligne Bus loss\",\"779M1 Rouleau convoyeur End ligne Contacteur\",\"780M1 Pile transport convoyeur Pas dĂ©marrer\",\"780M1 Pile transport convoyeur Pas marcher\",\"780M1 Pile transport convoyeur SĂ©curitĂ©\",\"780M1 Pile transport convoyeur NotHealthy\",\"780M1 Pile transport convoyeur Alarme frein\",\"780M1 Pile transport convoyeur Alimentation\",\"780M1 Pile transport convoyeur Bus loss\",\"780M1 Pile transport convoyeur Contacteur\",\"781M1 Pile transfert Pas dĂ©marrer\",\"781M1 Pile transfert Pas marcher\",\"781M1 Pile transfert SĂ©curitĂ©\",\"781M1 Pile transfert NotHealthy\",\"781M1 Pile transfert Alarme frein\",\"781M1 Pile transfert Alimentation\",\"781M1 Pile transfert Bus loss\",\"781M1 Pile transfert Contacteur\",\"HV Panier 1 bas/haut\",\"HV Panier 2 bas/haut\",\"HV Panier 3 bas/haut\",\"HV Panier 4 bas/haut\",\"HV Panier 5 bas/haut\",\"HV Panier colle bas/haut\",\"AV charriot 1 end bas/haut\",\"AV charriot 1 front bas/haut\",\"AV charriot 1 tĂȘte aspiration\",\"AV charriot 2 end bas/haut\",\"AV charriot 2 front bas/haut\",\"AV charriot 2 tĂȘte aspiration\",\"AV charriot 3 end bas/haut\",\"AV charriot 3 front bas/haut\",\"AV charriot 3 tĂȘte aspiration\",\"AV charriot 4 end bas/haut\",\"AV charriot 4 front bas/haut\",\"AV charriot 4 tĂȘte aspiration\",\"AV charriot 5 end bas/haut\",\"AV charriot 5 front bas/haut\",\"AV charriot 5 tĂȘte aspiration\",\"AV 741M1 Convoyeur avec table bas/haut\",\"AV 742M1 Convoyeur avec table bas/haut\",\"AV 745M1 Convoyeur rebut bas/haut\",\"AV 774M1 Face convoyeur table bas/haut\",\"729M1 Charriot 1-2 transfert\",\"730M1 Charriot 3-4 transfert\",\"736M1 pompe colle\",\"739M1 agitateur\",\"740M1 Convoyeur Disc\",\"741M1 Convoyeur table 1-2\",\"742M1 Convoyeur table 3-4\",\"743M1 Convoyeur 1\",\"744M1 Convoyeur 2\",\"745M1 Table rebut convoyeur\",\"746M1 Convoyeur aprĂšs rebut\",\"747M1 rouleau alignement\",\"748M1 Convoyeur colle\",\"748M2 Pressure Belts\",\"751M1 Charriot 5 transfort\",\"761M1 Convoyeur aprĂšs colle\",\n\"766M1 Mouvement table\",\"767M1 Convoyeur table\",\"774M1 Convoyeur table 5\"];\nvar payload = msg.payload;\nvar topic = String(msg.topic);\nvar tabEtat = [];\nvar tabStart = [];\nvar tabEnd = [];\nvar Start;\nvar Query;\nvar time;\nvar timeDef;\nvar StimeDef;\nvar date;\n\nfunction GetTime (date){\n    var a = new Date(date);\n    //a = a.toISOString();\n    node.error(a);\n    h = a.getHours();\n    m = a.getMinutes();\n    s = a.getSeconds();\n    var t = [h,m,s];\n    return t;\n}\n\nfor(i = 0 ; i < tabDef.length ; i++){\n    if((tabDef[i]==topic) && (payload === true) && (payload !== tabEtat[i])){\n        tabEtat = context.get(\"Etat\")||[];\n        tabEtat[i] = true;\n        context.set(\"Etat\", tabEtat);\n        time = new Date();\n        //time = time.getTime()+time.getTimezoneOffset(60);\n        tabStart = context.get(\"Start\")||[];\n        tabStart[i] = time;\n        context.set(\"Start\", tabStart);\n        //node.error(\"true\" +context.get('Start')||[]);\n    }else if((tabDef[i]==topic) && (payload === false) && (payload !== tabEtat[i])){\n        tabEtat = context.get(\"Etat\")||[];\n        tabEtat[i] = false;\n        context.set(\"Etat\",tabEtat[i]);\n        time = new Date();\n        //time = time.getTime()+time.getTimezoneOffset(60);\n        tabEnd = context.get(\"End\")||[];\n        tabEnd[i] = time;\n        context.set(\"End\", tabEnd);\n        Start = context.get('Start')||[];\n        //node.error(\"false\"+Start);\n        var StartDiff = GetTime(Start[i]);\n        var EndDiff = GetTime(time);\n        for(j = 0; j < StartDiff.length; j++){\n            timeDef[j] = EndDiff[j] - StartDiff[j];\n        }\n        StimeDef = (\"\"+timeDef[0]+\"\"+timeDef[1]+\"\"+timeDef[2]+\"\");\n        \n        Query = \"INSERT INTO Defauts(Heure, Nom, Duree) VALUES ('\"+Start+\"','\"+topic+\"','\"+StimeDef+\"');\";\n        msg.payload = Query;\n        \n        return msg;\n    }\n\n}\n\n","outputs":1,"noerr":0,"x":380,"y":1380,"wires":[["c6380856.c5b2f8"]]},{"id":"c6380856.c5b2f8","type":"debug","z":"194b9578.c4981b","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","x":570,"y":1380,"wires":[]},{"id":"e86febfa.a814a8","type":"inject","z":"194b9578.c4981b","name":"","topic":"767M1 Convoyeur table","payload":"false","payloadType":"bool","repeat":"15","crontab":"","once":true,"onceDelay":"5","x":150,"y":1360,"wires":[["d31fab40.5f1848"]]},{"id":"94075175.0d444","type":"inject","z":"194b9578.c4981b","name":"","topic":"767M1 Convoyeur table","payload":"true","payloadType":"bool","repeat":"10","crontab":"","once":true,"onceDelay":"0.1","x":150,"y":1420,"wires":[["d31fab40.5f1848"]]},{"id":"40158ad9.af9284","type":"inject","z":"194b9578.c4981b","name":"","topic":"774M1 Convoyeur table 5","payload":"false","payloadType":"bool","repeat":"25","crontab":"","once":true,"onceDelay":"20","x":150,"y":1300,"wires":[["d31fab40.5f1848"]]},{"id":"4dde4d73.0b44e4","type":"inject","z":"194b9578.c4981b","name":"","topic":"774M1 Convoyeur table 5","payload":"false","payloadType":"bool","repeat":"20","crontab":"","once":true,"onceDelay":"15","x":150,"y":1480,"wires":[["d31fab40.5f1848"]]}]

One who is working...

[{"id":"2e42f6bc.ac697a","type":"function","z":"194b9578.c4981b","name":"convert shift","func":"var value = msg.payload;\nvar Query;\nvar time = new Date();\ntime = time.getTime()+time.getTimezoneOffset(60);\nvar date = time.toJSON().slice(0,19).replace('T', ' ');\nvar valreturn;\nvar oldrecipe = context.get('values');\nvar BitOk = oldrepice.recette;\n\nif(BitOk != value.recette){\n    context.set('bitok', value.recette);\n    valreturn = context.get('values');\n    Query = \"INSERT INTO shift(Heure, Recette, Feuille, Planche, Stack, Volume, Rebuts) VALUES ('\"+date+\"','\"+valreturn.recette+\"','\"+valreturn.placage+\"','\"+valreturn.panneau+\"','\"+valreturn.pile+\"','\"+valreturn.volume+\"','\"+valreturn.rebuts+\"');\";\n    msg.payload = Query;\n    context.set('values',value);\n    return msg;\n}else{\ncontext.set('values',value);\n}","outputs":1,"noerr":0,"x":348,"y":72,"wires":[["282b73f3.ea301c","4b2567ee.4d8008"]]}]