FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Phill am 11 Januar 2017, 08:59:12

Titel: [GELÖST] DBLOG keine Current Werte mehr.
Beitrag von: Phill am 11 Januar 2017, 08:59:12
Hallo, ich bräuchte mal eure Hilfe, oder einen anstupser in die richtige Richtung.

Ich habe gestern meine mysql Datenbank neu aufgesetzt weil ich eine extrem große und mit viel Müll verstopfte Datenbank hatte. Jetzt habe ich eine frisch aufgesetzte DB aber es werden keine Werte in die Tabelle CURRENT geschrieben.History wird ordentlich gefüllt.
ZitatcountCurrent 0 2017-01-11 08:29:52
countHistory 22583 2017-01-11 08:29:52

Ehrlich gesagt weiß ich nicht ob das erst seit dem aufsetzen der neuen Datenbank ist, es könnten auch vorher nur alte Werte in Current gestanden haben, da habe ich nicht drauf geachtet.

Den einzigen Fehler den ich bekomme, ist bei einem rereadcfg:
ZitatDBD::mysql::st execute_array failed: MySQL server has gone away [err was 2006 now 2000000000] executing 1 generated 1 errors at ./FHEM/93_DbLog.pm line 951.
Damit kann ich leider nichts anfangen. Mit verbose auf 5 schaut eigentlich alles sauber aus bei einem Log Vorgang nur das eben die Current Tabelle nicht erwähnt wird.
Zitat2017.01.11 08:42:54 5: Triggering dev_server (2 changes)
2017.01.11 08:42:54 5: Starting notify loop for dev_server, 2 event(s), first is present
2017.01.11 08:42:54 4: DbLog logdb -> ################################################################
2017.01.11 08:42:54 4: DbLog logdb -> ###              start of new Logcycle                       ###
2017.01.11 08:42:54 4: DbLog logdb -> ################################################################
2017.01.11 08:42:54 4: DbLog logdb -> amount of events received: 2 for device: dev_server
2017.01.11 08:42:54 4: DbLog logdb -> check Device: dev_server , Event: present
2017.01.11 08:42:54 4: DbLog logdb -> added event to memcache - Timestamp: 2017-01-11 08:42:54, Device: dev_server, Type: PRESENCE, Event: present, Reading: state, Value: present, Unit:
2017.01.11 08:42:54 4: DbLog logdb -> check Device: dev_server , Event: presence: present
2017.01.11 08:42:54 4: DbLog logdb -> added event to memcache - Timestamp: 2017-01-11 08:42:54, Device: dev_server, Type: PRESENCE, Event: presence: present, Reading: presence, Value: present, Unit:
2017.01.11 08:42:54 4: DbLog logdb -> processing event Timestamp: 2017-01-11 08:42:54, Device: dev_server, Type: PRESENCE, Event: present, Reading: state, Value: present, Unit:
2017.01.11 08:42:54 4: DbLog logdb -> processing event Timestamp: 2017-01-11 08:42:54, Device: dev_server, Type: PRESENCE, Event: presence: present, Reading: presence, Value: present, Unit:
2017.01.11 08:42:54 4: DbLog logdb -> 2 of 2 events successfully inserted into table history
2017.01.11 08:42:54 5: DbLog logdb -> DbLog_Push Returncode: 0

Ich habe die Datenbank noch ein zweites mal aufgesetzt aber mit dem selben Ergebnis.
Und die Datenbank lässt sich ohne weiteres bedienen mit fhemuser.
mysql -p -u fhemuser
use fhem;
show tables;

Zitat+----------------+
| Tables_in_fhem |
+----------------+
| current        |
| history        |
+----------------+
2 rows in set (0.00 sec)
select * from current
ZitatEmpty set (0.00 sec)
Bei history sieht das anders aus.
show columns from current;
Zitat+-----------+--------------+------+-----+-------------------+-----------------------------+
| Field     | Type         | Null | Key | Default           | Extra                       |
+-----------+--------------+------+-----+-------------------+-----------------------------+
| TIMESTAMP | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| DEVICE    | varchar(32)  | YES  |     | NULL              |                             |
| TYPE      | varchar(32)  | YES  |     | NULL              |                             |
| EVENT     | varchar(512) | YES  |     | NULL              |                             |
| READING   | varchar(32)  | YES  |     | NULL              |                             |
| VALUE     | varchar(32)  | YES  |     | NULL              |                             |
| UNIT      | varchar(32)  | YES  |     | NULL              |                             |
+-----------+--------------+------+-----+-------------------+-----------------------------+
7 rows in set (0.01 sec)
INSERT INTO current (DEVICE, EVENT) VALUES ('test', 'warum');
Query OK, 1 row affected (0.01 sec)
select * from current;

Zitat+---------------------+--------+------+-------+---------+-------+------+
| TIMESTAMP           | DEVICE | TYPE | EVENT | READING | VALUE | UNIT |
+---------------------+--------+------+-------+---------+-------+------+
| 2017-01-11 08:56:26 | test   | NULL | warum | NULL    | NULL  | NULL |
+---------------------+--------+------+-------+---------+-------+------+
1 row in set (0.00 sec)

Hilfe... Grüße.
Titel: Antw:DBLOG keine Current Werte mehr.
Beitrag von: klaso am 11 Januar 2017, 09:06:50
Servus,
Wie sieht denn deine fhem.cfg hierzu aus? Den Fehler bei Rereadcfg habe ich auch immer wieder, läuft aber trotzdem. Hast du in deiner cfg was "exotisches"?
Hast du einen Check über die DB trotzdem mal laufen lassen?
VG
Klaso
Titel: Antw:DBLOG keine Current Werte mehr.
Beitrag von: Phill am 11 Januar 2017, 09:12:54
Hi,
relativ unspektakulär:
Zitatdefine logdb DbLog ./contrib/dblog/db.conf .*:.*
attr logdb disable 0
attr logdb icon it_net
attr logdb room Global,Log

was für einen Check meinst du genau?
Titel: Antw:DBLOG keine Current Werte mehr.
Beitrag von: CoolTux am 11 Januar 2017, 09:50:28
Zitat von: klaso am 11 Januar 2017, 09:06:50
Servus,
Wie sieht denn deine fhem.cfg hierzu aus? Den Fehler bei Rereadcfg habe ich auch immer wieder, läuft aber trotzdem. Hast du in deiner cfg was "exotisches"?
Hast du einen Check über die DB trotzdem mal laufen lassen?
VG
Klaso

Daraus kann man so gut wie gar nichts lesen. Am besten ist in solchen Fällen immer ein

list DEVICENAME
Titel: Antw:DBLOG keine Current Werte mehr.
Beitrag von: dev0 am 11 Januar 2017, 09:51:20
Attribut DbLogType setzen: https://forum.fhem.de/index.php/topic,62998.msg544482.html#msg544482
Titel: Antw:[GELÖST] DBLOG keine Current Werte mehr.
Beitrag von: Phill am 11 Januar 2017, 10:01:40
Oh mein Gott wie peinlich. Wieder mal die Hilfe nicht bis zum ende gelesn.  ::)

Danke für die Info...
Titel: Antw:[GELÖST] DBLOG keine Current Werte mehr.
Beitrag von: Stippy19 am 24 Januar 2017, 02:08:06
Hallo, ich hätte zu dem Thema doch noch eine Frage.
Ich habe nun versucht das DbLogType einzufügen:
attr weather_outdoor DbLogType Current/History
erhalte aber nur folgende Fehlermeldung:
weather_outdoor: unknown attribute DbLogType. Type 'attr weather_outdoor ?' for a detailed list.

In der Referenz (https://fhem.de/commandref_DE.html#DbLog) finde ich den LogType zwar, jedoch nicht, wenn ich 'attr weather_outdoor ?' eingebe.
Wo übersehe ich etwas?

Symptome sind wie oben auch beschrieben, in der mysql history table wird fröhlich gespeichert, in current table kommt jedoch nichts an.



/Edit: Oh man, bin ich bescheuert... Für alle die auch auf dem Schlauch stehen: Natürlich das Attribut nicht bei der Wetterstation suchen, sondern beim DbLog device.
Titel: Antw:[GELÖST] DBLOG keine Current Werte mehr.
Beitrag von: JimKnopf am 09 Mai 2020, 18:22:17
Hi!

Ja, ich liebe auch diese tollen Hilfen "Attribut DbLogType setzen: https://forum.fhem.de/index.php/topic,62998.msg544482.html#msg544482".

Hab auch angefangen den ganzen Thread zu lesen, was dann aber doch zu viel wurde, weil fast nirgends wirklich was passendes steht.
Hier mal ne kurze passende Antwort: bei der DbLog, dem Datenbank device in FHEM, muss das Attribut 'DbLogType Current/History', nicht bei den einzelnen Sensoren/Aktoren.

Gruß,
Burkhard