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
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.
@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
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
@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.
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.
@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...
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.
@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.
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.