Modifier une valeur dans Domoticz

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
Répondre
Starbird
Messages : 258
Enregistré le : 14 janv. 2018, 18:48
Localisation : Bécherel (35)

Modifier une valeur dans Domoticz

Message par Starbird » 08 déc. 2018, 12:20

Bonjour,

Régulièrement j'ai des problémes de valeurs dans domoticz concernant mes relevés de pluie en mm.
J'ai donc essayé plusieurs fois d'accéder au fichier spécifique grâce a sqlite3 car si je fais un effacement total de la valeur cela ne m’intéresse pas car exemple:
dans la journée il y a 16.2 mm de pluie mais la valeur et aberrante 489 mm de pluie si je fais shit+Suppr la valeur tombe a "0" et je n'ai plus de trace de pluie ce jour.
Voila pourquoi je désire passer par la basse de données et mettre la bonne valeur.
1) ID de mon capteur est 388.
2) voici la méthode que j'utilise:

pi@raspberrypi ~ $ sqlite3 /home/pi/domoticz/domoticz.db « enter »

Ceci apparait :

« SQLite version 3.16.2 2017-01-6 16:32:41
Enter ".help" for usage hints »

J’ai ensuite tapé « .tables » à la suite de sqlite>

sqlite> .tables « enter »

Ceci apparait :
BackupLog Meter Scenes
Cameras Meter_Calendar SetpointTimers
CamerasActiveDevices MobileDevices SharedDevices
CustomImages MultiMeter Temperature
DeviceStatus MultiMeter_Calendar Temperature_Calendar
DeviceToPlansMap MySensors TimerPlans
EnoceanSensors MySensorsChilds Timers
EventActions MySensorsVars ToonDevices
EventMaster Notifications UV
EventRules Percentage UV_Calendar
Fan Percentage_Calendar UserSessions
Fan_Calendar Plans UserVariables
FibaroLink Preferences Users
Floorplans PushLink WOLNodes
GooglePubSubLink Rain Wind
Hardware Rain_Calendar Wind_Calendar
HttpLink SceneDevices ZWaveNodes
LightSubDevices SceneLog
LightingLog SceneTimers
sqlite>

Ensuite je tape derrière : sqlite>
sqlite> select Value,Counter from Meter_Calendar where Date="2018-12-07" and DeviceRowID=388 « enter »

Et je n’ai rien que cela qui apparait a la suite : …>

Je ne comprends pas pourquoi ?
Quelqu’un peut’ il me dire la démarche à faire car là de je ne comprends rien.
Comme vous pouvez le voir je n’y connais rien et ne désire pas foirer Domoticz qui autrement fonctionne très bien.

J'ai essayé avec cette méthode mais je n'arrive a rien. http://so-domotic.fr/2016/03/27/corrige ... -domoticz/

Merci de votre aide.
Raspberry PI3/Raspbian stresk+RFXcomE pour volets Somfy+contacts sec Sonoff pour les ouvertures+RFLink+Trust ABST 604+Basic Sonoff pour lumières et ballon d'eau chaude+Compteur conso électrique OWL Micro+CM180 gestion+Station Orégon WMR 200 compléte.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Datawolf
Messages : 95
Enregistré le : 03 avr. 2018, 13:51

Re: Modifier une valeur dans Domoticz

Message par Datawolf » 08 déc. 2018, 13:47

Salut,

C'est probablement tout bête, genre

Code : Tout sélectionner

select Value,Counter from Meter_Calendar where Date="2018-12-7" and DeviceRowID=388
@+
Datawolf

Starbird
Messages : 258
Enregistré le : 14 janv. 2018, 18:48
Localisation : Bécherel (35)

Re: Modifier une valeur dans Domoticz

Message par Starbird » 09 déc. 2018, 12:02

Ok Salut j'ai avancé dans " Sqlite"
Voici un récapitulatif de mes découvertes si cela peux aider quelqu'un "car dans mon cas malgré mes multiples recherche je n'ai rien trouvé comme formule qui fonctionné ".
Je me doute que pour certains d'entre nous c'est ridicule, mais pour d'autre c'est Babel, pour moi en tout cas :mrgreen: car je ne connais rien au SQL.

Je ne reviens pas sur le téléchargement de Sqlite3 et les sécurités a prendre lors de l'accé au dossier SQL.
A la suite de pi@raspberrypi ~ $ je tape : ceci >
pi@raspberrypi ~ $ sqlite3 /home/pi/domoticz/domoticz.db « enter »

-Ceci apparait :

« SQLite version 3.16.2 2017-01-6 16:32:41
Enter ".help" for usage hints »

-J’ai ensuite tapé « .tables »

Sqlite> .tables « enter »

-Ceci apparait :

BackupLog Meter Scenes
Cameras Meter_Calendar SetpointTimers
CamerasActiveDevices MobileDevices SharedDevices
CustomImages MultiMeter Temperature
DeviceStatus MultiMeter_Calendar Temperature_Calendar
DeviceToPlansMap MySensors TimerPlans
EnoceanSensors MySensorsChilds Timers
EventActions MySensorsVars ToonDevices
EventMaster Notifications UV
EventRules Percentage UV_Calendar
Fan Percentage_Calendar UserSessions
Fan_Calendar Plans UserVariables
FibaroLink Preferences Users
Floorpl ans PushLink WOLNodes
GooglePubSubLink Rain Wind
Hardware Rain_Calendar Wind_Calendar
HttpLink SceneDevices ZWaveNodes
LightSubDevices SceneLog
LightingLog SceneTimers
Sqlite>

Pour mes exemple je vais utilisé Rain ou Rain_Calendar " pluie" car égoïstement la sonde qui me pose problème et mon pluviomètre Orégon.
De plus comme je ne garde que les derniers 48h de relevés de sonde dans le premier tableau du haut dans Domoticz si je passe que par Rain et non Rain_Calendar j'aurai accès par Rain qu'aux dernier 48H. (Si j'ai bien compris).

Donc par : Rain_Calendar (dans mon cas) accès qu'aux dernier 48H.
Par : Rain accès a la valeur moyenne ou maximum de la journée depuis la mise en place de la sonde.

-Ensuite je tape derrière :
Sqlite> SELECT * FROM Rain_Calendar ;

-Je me retrouve avec toutes les valeurs enregistrées (Chaque moyenne ou maximum par jour depuis l’ouverture de Domoticz)

-Ensuite je tape derrière :
Sqlite> select * from Rain where date="2018-12-08 04:35:00";

-Je me retrouve avec la valeurs du jour et de l’heure demandée.( pour moi dans la limite des dernier 48h).
Ex : 388|0.1|-37929|2018-12-08 04:35:00

388 = ID de la sonde concernée.
0.1 = Valeur enregistrée sur la minute demandée.
-37929 = Valeur enregistrée en total sur l’année.

-Ensuite si je tape :

Sqlite> select * from rain where Date like '2018-12-08 04:5%';
Le % et là pour mettre une valeur absolu.

Dans cette condition j’aurai tous les relevés entre 04h50 du matin et 04h59

-Autre exemple avec :

Sqlite> select * from rain where Date like '2018-12-08 04:%%';

Dans cette condition j’aurai tous les relevés entre 04h00 du matin et 04h59 etc… etc.
Donc maintenant nous savons comment retrouver l'instant ou l'erreur c'est produite.

Dés que j'ai trouvé comment modifier une valeur je note la suite. ;)
Raspberry PI3/Raspbian stresk+RFXcomE pour volets Somfy+contacts sec Sonoff pour les ouvertures+RFLink+Trust ABST 604+Basic Sonoff pour lumières et ballon d'eau chaude+Compteur conso électrique OWL Micro+CM180 gestion+Station Orégon WMR 200 compléte.

papoo
Messages : 1380
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Modifier une valeur dans Domoticz

Message par papoo » 09 déc. 2018, 13:57

Attention ce n'est pas la table rain mais la table Rain
après s'etre connecté à la base de données domoticz
j'active personnellement les titres et les colonnes avec

Code : Tout sélectionner

.headers on
.mode column
la table Rain comprend : 4 colonnes

Code : Tout sélectionner

DeviceRowID  Total       Rate        Date
pour mettre à jour l'enregistrement de la mesure (Rate) et le total (Total) de mon capteur idx (DeviceRowID) 1039 du 2018-12-09 à 13:45:00

Code : Tout sélectionner

update Rain set Total=877.8, Rate=1 where date="2018-12-09 13:45:00" and DeviceRowId =1039;
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Starbird
Messages : 258
Enregistré le : 14 janv. 2018, 18:48
Localisation : Bécherel (35)

Re: Modifier une valeur dans Domoticz

Message par Starbird » 10 déc. 2018, 18:37

Ok Merci pour cette correction.
Raspberry PI3/Raspbian stresk+RFXcomE pour volets Somfy+contacts sec Sonoff pour les ouvertures+RFLink+Trust ABST 604+Basic Sonoff pour lumières et ballon d'eau chaude+Compteur conso électrique OWL Micro+CM180 gestion+Station Orégon WMR 200 compléte.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre