FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ulobo60 am 16 Juni 2023, 13:51:08

Titel: [Gelöst]Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: ulobo60 am 16 Juni 2023, 13:51:08
Hallo erst mal,

seit ca. 4 Jahren holt sich mein FHEM-System Spritpreise von der Internetseite "http://www.clever-tanken.de/tankstelle_details/".
Die Werte von ARAL, ESSO, STAR (3 Tankstellen in meiner Nähe) für Diesel und Super5 lasse ich alle 10 Minuten in meine FHEM-Datenbank schreiben (MySQL, MariaDB).

Damit habe ich einen excellenten grafischen Überblick über die aktuelle Preissituation. Auch die Vergangenheitsdarstellung ist für mich wichtig.
Im FTUI wird das wie folgt dargestellt:

siehe unten Bild: 1 Spritpreise 1.Halbjahr 2022.jpg
siehe unten Bild: 2 Spritpreise 21.05. - 13.06.2022.jpg
siehe unten Bild: 3 So siehts aktuell aus.jpg

Mein aktuelles Problem:
Seit 3 Tagen betanke ich meinen Smart mit Super-10 (bis dahin immer mit Super-5) !
Seit 2 Tagen habe ich die Umstellungvon Super-5 auf Super-10 in meinen FHEM-Modulen "Spritpreise" vorgenommen.
Exakt: statt "SuperE5" => "SuperE10" (im READING geändert)

Hier mein aktuelle Listing zum Modul "Spritpreise ARAL":
Internals:
   BUSY       0
   DEF        http://www.clever-tanken.de/tankstelle_details/4572 600
   FUUID      5c4ee139-f33f-4a34-6da6-c19d9d5c66xxx
   FVERSION   98_HTTPMOD.pm:0.270650/2023-01-15
   Interval   600
   MainURL    http://www.clever-tanken.de/tankstelle_details/4572
   ModuleVersion 4.1.15 - 17.12.2022
   NAME       TankstelleARAL
   NOTIFYDEV  global
   NR         98
   NTFY_ORDER 50-TankstelleARAL
   STATE      ???
   TYPE       HTTPMOD
   eventCount 162
   value     
   CompiledRegexes:
   HTTPCookieHash:
     csrftoken;:
       Name       csrftoken
       Options    expires=Thu, 13 Jun 2024 18:39:11 GMT; Max-Age=31449600; Path=/; SameSite=Lax
       Path      
       Value      5iokqoExZBN3iJyXeU7Ggu5cuXYnzD1XCeZyp6uONK261NTvQ0D0uxxx
   Helper:
     DBLOG:
       Diesel:
         logdb:
           TIME       1686854351.56001
           VALUE      1.56
       SuperE10:
         logdb:
           TIME       1686854351.56001
           VALUE      1.71
   HttpUtils:
     NAME      
     addr       https://www.clever-tanken.de:443
     auth       0
     code       200
     compress   1
     conn      
     data      
     displayurl https://www.clever-tanken.de/tankstelle_details/4572
     header     Cookie: csrftoken=5iokqoExZBN3iJyXeU7Ggu5cuXYnzD1XCeZyp6uONK261NTvQ0Dxxx
     host       www.clever-tanken.de
     httpheader HTTP/1.1 200 OK
Date: Thu, 15 Jun 2023 18:39:11 GMT
Server: Apache/2.4.29 (Ubuntu)
Vary: Cookie,Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Set-Cookie: csrftoken=5iokqoExZBN3iJyXeU7Ggu5cuXYnzD1XCeZyp6uONK261NTvQ0D0uDxxx; expires=Thu, 13 Jun 2024 18:39:11 GMT; Max-Age=31449600; Path=/; SameSite=Lax
Connection: close
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /tankstelle_details/4572
     protocol   https
     redirects  0
     timeout    5
     url        https://www.clever-tanken.de/tankstelle_details/4572
     sslargs:
   QUEUE:
   READINGS:
     2023-06-15 20:39:11   Diesel          1.56
     2023-06-15 20:39:11   SuperE10        1.71
     2023-06-13 21:46:06   SuperE5         1.74
   REQUEST:
     context    reading
     data      
     header    
     ignoreredirects 0
     num        unknown
     priority   1
     retryCount 0
     type       update
     url        https://www.clever-tanken.de/tankstelle_details/4572
   defptr:
     readingBase:
       Diesel     reading
       SuperE10   reading
     readingNum:
       Diesel     02
       SuperE10   01
     readingOutdated:
     requestReadings:
       update:
         Diesel     reading 02
         SuperE10   reading 01
Attributes:
   DbLogInclude .*(Diesel|SuperE10).*
   alias      ARAL
   enableControlSet 1
   group      Benzinpreis
   icon       gasoline
   reading01Name SuperE10
   reading01Regex "current-price-2">(\d.\d{2})
   reading02Name Diesel
   reading02Regex "current-price-1">(\d.\d{2})
   room       Spritpreise
   timeout    5

Damit sind alle Werte von "Superbenzin" vor dem 14.06.2023 nicht mehr in meinen Grafiken sichtbar, da sie in meiner MySQL-Datenbank im READING "SuperE5" enthalten.

Mein Wunsch:
Ich würde gern in der MySQL-Datenbank die Alt-Werte (= SuperE5) weiterhin nutzen.
Kann ich per MySQL dazu folgende Änderungen in den bestehenden Datensätzen vornehmen?
a) vom Wert VALUE 0,6 subtrahieren (= durchschnittlicher Unterschied zwischen SuperE5 und SuperE10) und das Ergebnis wieder in VALUE schreiben?
b) danach das READING "SuperE5" in "SuperE10" in den MySQL-Datensätzen ändern?

Könnte mir bitte jemand die dafür notwendigen MySQL-Befehle in die Feder diktieren?
Vielen Dank für Eure Mühen im Voraus.

P.S.: So sieht das SELECT-Ergebnis der Alt-Daten (SuperE5 bei der ARAL-Tankstelle) in HeidiSQL aus:
select * from history where DEVICE='TankstelleARAL' AND Reading='SuperE5';
===> siehe unten Bild: 4 HeidiSQL Alt-Daten SuperE5.jpg

Titel: Aw: Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: betateilchen am 16 Juni 2023, 14:20:48
Zitat von: ulobo60 am 16 Juni 2023, 13:51:08Könnte mir bitte jemand die dafür notwendigen MySQL-Befehle in die Feder diktieren?

Dazu musst kein MySQL bemühen, das kannst Du alles mit einem DbRep device innerhalb von FHEM lösen.
Damit kannst Du sowohl den readingName der bestehenden Datenbankeinträge ändern als auch deren Werte.

- rename of device/readings in datasets
- change of reading values in the database (changeValue)

https://commandref.fhem.de/#DbRep

Außerdem ist dies das falsche Unterforum für Deine Frage.
Titel: Aw: Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: ulobo60 am 16 Juni 2023, 15:05:22
@betateilchen

1) Vielen Dank für Deine schnelle Antwort.
Werde mich sofort an das Thema DbRep ransetzen.
2) Welches Unterforum wäre denn das richtige gewesen?

lg
Ulf
Titel: Aw: Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: betateilchen am 16 Juni 2023, 15:24:37
Zitat von: ulobo60 am 16 Juni 2023, 15:05:222) Welches Unterforum wäre denn das richtige gewesen?

Es gibt hier im Unterforum "Anfängerfragen" einen angepinnten Beitrag, der genau diese Frage beantwortet...

https://forum.fhem.de/index.php?topic=13092.0
Titel: Aw: Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: ulobo60 am 16 Juni 2023, 15:45:12
@betateilchen

... ja, die Seite "...MAINTAINER.txt habe ich natürlich vorher durchgeschnüffelt.
Gesucht hatte ich nach Begriffen wie MYSQL, DATABASE, DATENBANK + ähnliches und nix gefunden.
Dass dies mit DBREP angegangen werden muss....

Lassen wir's gut sein.
Titel: Aw: Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: betateilchen am 16 Juni 2023, 15:52:23
Zitat von: ulobo60 am 16 Juni 2023, 15:45:12Gesucht hatte ich nach Begriffen wie ...

... DbLog ? Immerhin geht es ja um Dein Logging in die Datenbank  8) 

Ja, lassen wir das. Es ist halt einfacher, den Bereich "Anfängerfragen" zuzumüllen.
Titel: Aw: [Gelöst]Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: ulobo60 am 17 Juni 2023, 13:30:07
@betateilchen

Dein Zitat: "Es ist halt einfacher, den Bereich "Anfängerfragen" zuzumüllen."

Ziemlich dreist.
Mein letztes Posting im Forum "Anfängerfragen" liegt jetzt ca. 19 Monate zurück.
Ich mülle mit 1 Anfrage in ca. 1,5 Jahren hier nichts zu  >:(
Wenn Ihr Probleme mit dem "Zumüllen der Anfängerfragen" habt, dann kehrt bitte endlich mal vor Eurer eigenen Tür.
Die verlinkte Hilfe-Datei https://fhem.de/MAINTAINER.txt ist m.E. für den Gelegenheits-Poster in dieser Form absolut untauglich.
Sie setzt das Wissen voraus, was die dort aufgeführten einzelnen Module beinhalten und leisten.
Das hat unsereiner aber größtenteils nicht. Und mal so nebenbei: in dieser Datei sind ca. 680 Module aufgeführt. Ein Datengrab...

Aus meiner Sicht braucht ein Gelegenheits-Poster eine Übersicht, die in der 1. Spalte die Problem-Sachbereiche zeigt.
Und in der 2. Spalte findet man die entsprechenden Foren. Keine Maintainer, keine Module. Dann kann die Datei (durchsuchbar mit STRG+F) auch gerne 1.000 Zeilen aufweisen.

Nimm mein Beispiel:
Ich habe ein Problem mit der Darstellung von vorhandenen Datenwerten in meiner MySQL-Datenbank.
Also habe ich in der MAINTAINER.txt nach den Begriffen MYSQL und DATENBANK gesucht und nix gefunden.
Damit blieb mir nur "Anfängerfragen" für mein Posting übrig.

betateilchen, Dein vorletzter Satz ".. DbLog ? Immerhin geht es ja um Dein Logging in die Datenbank" zeigt deutlich die Problematik: Fachidiot trifft auf Gelegenheits-Idiot.
Mitnichten geht es für mich um`s Logging (= Protokollierung) in meine Datenbank. Das Logging funktioniert!
Mir gehts um meine bestehende MYSQL-Datenbank, in der in einem einzelnen Feld/Datenbankspalte bestehende Werte geändert werden sollen - unter Beibehaltung des TIMESTAMP.

P.S.: Vor 2 bis 3 Tagen fiel mir auf, dass meine letzte Spende an FHEM e.V. schon ca. 2 Jahre zurück liegt. Dachte mir - kannste ja nochmal was überweisen...
Sorry, aber dieses Vorhaben liegt jetzt natürlich bei mir auf Eis.
Ein kleines "Sorry" Deinerseits könnte da vielleicht etwas bewirken...
Titel: Aw: [Gelöst]Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: betateilchen am 17 Juni 2023, 14:42:45
Zitat von: ulobo60 am 17 Juni 2023, 13:30:07Dein Zitat: "Es ist halt einfacher, den Bereich "Anfängerfragen" zuzumüllen."

Ziemlich dreist.
Mein letztes Posting im Forum "Anfängerfragen" liegt jetzt ca. 19 Monate zurück.
Ich mülle mit 1 Anfrage in ca. 1,5 Jahren hier nichts zu

Getroffene Hunde bellen. Meine Anmerkung zum Zumüllen war nicht konkret auf Dich bezogen. Du hast Dich halt mit Deinem Beitrag wunderbar in diese generelle Unart vieler Anwender eingereiht, einfach alles in die "Anfängerfragen" zu kippen.

Davon abgesehen ist man in meinen Augen nach von Dir genannten "19 Monaten" auch nicht mehr wirklich Anfänger. Schon gar nicht, wenn man mit Datenbanken arbeitet.

Wenn es in Deiner Frage zu Datenbanken nicht um DbLog oder configDB geht, ist das Forum ohnehin falsch, um Deine allgemeinen MySQL Fragen zu beantworten. Das ist ein komplett anderes Fachgebiet. Allenfalls könntest Du das noch hier im Bereich Linux oder einer anderen Plattform unterbringen.

Zitat von: ulobo60 am 17 Juni 2023, 13:30:07Die verlinkte Hilfe-Datei https://fhem.de/MAINTAINER.txt ist m.E. für den Gelegenheits-Poster in dieser Form absolut untauglich.
Sie setzt das Wissen voraus, was die dort aufgeführten einzelnen Module beinhalten und leisten.
Das hat unsereiner aber größtenteils nicht. Und mal so nebenbei: in dieser Datei sind ca. 680 Module aufgeführt. Ein Datengrab...

Deshalb gibt es den "help" Befehl, der einem einen Großteil dieser Überlegungen abnimmt. Dort kann man sowohl einen Modulnamen oder ein vorhandenes device als Parameter eingeben, um Hilfe zu bekommen.

Zitat von: ulobo60 am 17 Juni 2023, 13:30:07P.S.: Vor 2 bis 3 Tagen fiel mir auf, dass meine letzte Spende an FHEM e.V. schon ca. 2 Jahre zurück liegt. Dachte mir - kannste ja nochmal was überweisen...
Sorry, aber dieses Vorhaben liegt jetzt natürlich bei mir auf Eis.
Ein kleines "Sorry" Deinerseits könnte da vielleicht etwas bewirken...

Nur um das richtigzustellen: Deine geplante Spende ginge an den Verein, der das Forum betreibt, nicht an mich.

Und für ein "Sorry" sehe ich keinen Grund.
Titel: Aw: [Gelöst]Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: ulobo60 am 18 Juni 2023, 17:29:48
@betateilchen

... schön, dass wir auf einem normalen Gesprächslevel angelangt sind.

Ich glaube aber nicht, dass wir beide auf einer gemeinsamen Verständnisebene kommunizieren können: Foren-Nutzer = Kunde
Developer = Dienstleister.

Dein Satz...
"Du hast Dich halt mit Deinem Beitrag wunderbar in diese generelle Unart vieler Anwender eingereiht, einfach alles in die "Anfängerfragen" zu kippen."
...läßt mich das vermuten.
Diese Einschätzung oder auch Einstellung halte ich für grundsätzlich falsch.
Es ist zwar Fakt, dass hier eine Vielzahl von FHEM-Forumsanwendern ihr Problem in den "Anfängerbereich" posten. Aber größtenteils nicht, weil sie zu faul sind, die HILFE-Seite aufzurufen (die aus meiner Sicht keine ist), sondern sie einfach nicht wissen oder herausfinden, in welchen Forenbereich sie ihre Anfrage stellen sollten.

Nimm mich (und meinen aktuellen Post) als Beispiel:
Seit Ende 2017 bin ich hier Forumsmitglied. Also seit ca. 67 Monaten. Nicht seit 19 Monaten - das ist der Zeitraum, in dem ich das letzte Mal in den "Anfängerbereich" gepostet hatte.
Anfang 2018 hatte ich mein FHEM/FTUI-Berichtssystem fertig. Auf meinem Tablet kann ich seither viele Werte sehen. Ich steuere nichts per FHEM, ich schaue nur. Unter anderem betrachte ich neben 3 RaspiCams alle möglichen Wetterdaten (netatmo) sowie die Benzinpreis-Entwicklung von Diesel und Super für 3 ausgewählte Tankstellen in meiner Nähe.
Vor ca. 4 Tagen wollte ich aber statt der SuperE5- die SuperE10-Preise abholen. Also: meine FHEM-Bedienoberfläche "Hausautomatisierung" aufgerufen und unter "Spritpreise" in meinen 3 entsprechenden Devices die Readings und DbLogIncludes geändert in 'SuperE10'. Und siehe da: meine Grafiken zeigten die neuen Preise - aber sämtliche 3 Jahre zurückliegenden Werte waren (natürlich) verschwunden.

Ich verfasste meinen Forumsbeitrag (ca. 2,5 Stunden Aufwand) und fing an, nach dem passenden Forum für den Einstieg zu suchen.
ich wußte, dass ich meine Datenbank vor ca. 6,5 Jahren als MySQL-DB eingerichtet hatte. Außerdem verwende ich seither die Windows-Software "HeidiSQL", um mal irgendwelche Selektionen zu fahren. Bspw. mache ich 1x pro Jahr eine Bereinigungsabfrage, die alle Datensätze auf die zurückliegenden 3 Jahre begrenzt. Diese Abfrage habe ich in HeidiSQL gespeichert.

Zurück zur Frage: wo poste ich?
Ich fand die Page "In welcher Gruppe sollte ich meine Fragen stellen" und dort den Link zu "https://fhem.de/MAINTAINER.txt".
Aufgerufen und: ca. 680 Zeilen mit den 3 Spalten "File", "Maintainer" und "Forum". Wow...
Also - STRG+F und gesucht nach mir geläufigen Begriffen zur Lösung meines Problems (MYSQL, Datenbank, Database und ähnliches). Ergebnis: nix gefunden.
Auch der Hinweis "help <ModulName>" brachte mir nix. Es gab kein Modul MYSQL oder ähnliches...
Letzte Versuche: im Forum gesucht nach meinem Suchbegriff MYSQL. Von den insgesamt 1.200 Treffern habe ich die ersten 40 Einträge durchgestöbert mit dem Ergebnis, dass für meine Problematik mit der MYSQL-Datenbank nix dabei war.
Letztendlich (nach ca. 1,5 Stunde des erfolglosen Lesens) kam ich zur Erkenntnis, dass ich ja ein Anfänger in Sachen MySQL bin. Daher stellte ich schließlich meinen Post in "Anfängerfragen" ein.

Ich gehe mal davon aus, dass viele bis sehr viele Erstbeiträge, die in "Anfängerfragen" gepostet wurden/werden, eine ähnliche Geschichte wie meine aufweisen.

P.S.: Ich erwarte keine Antwort hierauf. Macht was draus oder auch nicht. Der Post ist hiermit endgültig geschlossen.


 
Titel: Aw: [Gelöst]Problem mit Werte-Änderungen in der MySQL-Datenbank
Beitrag von: betateilchen am 18 Juni 2023, 18:07:12
Zitat von: ulobo60 am 18 Juni 2023, 17:29:48Ich glaube aber nicht, dass wir beide auf einer gemeinsamen Verständnisebene kommunizieren können: Foren-Nutzer = Kunde
Developer = Dienstleister.

Völlig falsche Annahme Deinerseits.
Das erklärt natürlich vieles in Deinem Verhalten.

Over & Out.