Suppression d'historique en bloc code

salut ,

J’essaie depuis hier d’effacer l’historique des valeurs de consommation d’une prise qui utilise le plugin Broadlink au sein d’un script qui fait plein d’autres choses, mais cette fichue commande history::remove(117, date('Y-m-d H:i:s', strtotime('-3 hours')), date('Y-m-d H:i:s')); me renvoie l’erreur « Using $this when not in object context ». Ceci, qu’elle soit dans mon script ou seule dans un script dédié pour tester. Bref, j’ai essayé trop de choses pour les décrire, mais rien à faire. Des idées ?

merci d’avance :wink:

ps:117 est bien l’id de ma commande

je m’auto répond j’ai oublié un s à remove ><" je me buterais … si vous voulez supprimer mon sujet les modo ca sera avec plaisir :sweat_smile:

Un s à remove :thinking: ?

1 « J'aime »

c’est ça , et j’ai le seum XD

Tu en avais mis un en trop , du genre « removes » ?

Nan la fonction est bien history::removes donc avec un s

ça sert à ce que l’on ne puisse pas supprimer des historiques sans vraiment le vouloir :smile:

2 « J'aime »

Il y a les deux.

Capture d’écran du 2024-05-06 20-49-40

ah ben je confirme faut vraiment le vouloir XD

Oui mais celui-ci sert à supprimer un objet de la DB, la fonction n’est pas utilisée pour supprimer des évènements de l’historique

Tout est dans la DB, donc lorsque l’on supprime c’est normalement dans la DB.
Si tu parles d’objet dans le sens jeeObject, ça me paraît bizarre de supprimer des objets avec la class history. Si tu as plus de précision sur sa mise en œuvre, je suis preneur.

  • history:remove() est une méthode d’instance et sert à supprimer une entrée (celle correspondante à l’objet au sens programmation, l’instance actuelle, donc à l’entrée d’historique)
  • history:removes($_cmd_id, $_startTime = null, $_endTime = null) est une méthode static et sert à supprimer l’historique d’une commande en entier ou entre startTime & endTime
3 « J'aime »

Tiens d’ailleurs j’ai essayé d’utiliser récemment history::removes et ça fonctionne, sauf récemment où je spécifie une start_time et end_time en dur :

history::removes(3062,"2024-05-05 21:56:00","2024-05-05 21:57:00");

Une idée ? Le log n’est pas très parlant (« exécution d’un bloc code »). D’ailleurs y a moyen d’avoir des logs de scénario plus détaillés ?

ce n’est pas vmt une instruction prévue pour scénario donc non il n’y aura pas plus de log

pourquoi dis-tu que ca ne fonctionne pas?
tu as spécifié une suppression de 1 minute.

J’ai 2 valeurs historisées par erreur (via un scénario que j’ai exécuté au mauvais moment par erreur) à 21:56:06 et 21:56:56 donc je voudrais supprimer ces deux entrées. Mais elles persistent.

et c’est pour le sport de le faire par bloc code?
pcq pour 2 clics, ca vaut pas la peine de faire un scénario

1 « J'aime »

Ouais mais à la main t’a pas de logs :crazy_face:

Je suis en vacances, et sur mobile pas de possibilité de supprimer une valeur en cliquant dessus sur le graphe :upside_down_face:

Ces 2 entrées dans ton historique t’empêche de profiter de tes vacances ?

1 « J'aime »

Non, mais j’ai du temps libre pour m’en occuper, contrairement, par exemple, à quand je suis pas en vacances.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.