Neues Modul: OilFox

Begonnen von eisler, 09 März 2020, 10:42:48

Vorheriges Thema - Nächstes Thema

sky64

Hallo
Bei mir läuft nach über einem Jahr das Modul plötzlich nicht mehr.
Im Log kann ich aber nichts relevantes finde, auch bei verbose 5.
Der validationError dürfte irrelevant sein, der ist von 2023.
Der Token wurde nach einem Neustart des FHEM erneuert, aber es läuft trotzdem nicht.

Mein Modul sieht so aus:
Internals:
   FUUID      639486d7-f33f-5588-62aa-b2e74a5c2888e913
   NAME       OilFox
   NOTIFYDEV  global,OilFox
   NR         412
   NTFY_ORDER 50-OilFox
   STATE      2084 L 73%
   TYPE       OilFox
   eventCount 72
   OilFox:
     CONNECTED  disconnected
     access_token_expires 1707769608
     email      xxxxxxxxx@t-online.de
     expires    1707769912
     interval   600
     oilfox     0
     oilfox_currentMeteringAt
     oilfox_daysReach 0
     oilfox_hwid
     oilfox_id 
     oilfox_metering_battery 0
     oilfox_metering_currentOilHeight 0
     oilfox_metering_fillingPercentage 0
     oilfox_metering_liters 0
     oilfox_metering_value 0
     oilfox_name
     oilfox_nextMeteringAt
     oilfox_quantityUnit
     oilfox_tankVolume 0
     password   xxxxxxxxxxxx
     token      eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJkYTYyZWMwNi1lNjkyLTRlMDktODU3NC0wN2ZjZWFlYmY3YjIiLCJwZXJtaXNzaW9ucyI6Int9Iiwic2NvcGUiOiJDVVNUT01FUl9BUEkiLCJpc3MiOiJvaWxmb3guaW8iLCJleHAiOjE3MDc3NzA1MTIsImp0aSI6Ijc2MzZhMGRkLWYxNmYtNGM2Zi04OWUzLWNjYTFkM2JlODdlNSIsImVtYWlsIjoibm9fd2VyYnVuZ0B0LW9ubGluZS5kZSJ9.SyflstaCRbVHW2PRRczpWV0TC4SL4d_Yzr_HRB4LTVdfmld0QJFXJIq0Nu3OUVXC25jf_tOrA7viE3bJxya-cQ
     updateStartTime 1708021608
     validationError
   READINGS:
     2024-02-12 21:26:52   access_token_expires 2024-02-12 21:31:52
     2024-02-09 11:03:26   oilfox_currentMeteringAt 2024-02-09T08:00:54.768Z
     2024-02-09 11:03:26   oilfox_daysReach 617
     2024-02-09 11:03:26   oilfox_hwid     ON0422154509
     2024-02-09 11:03:26   oilfox_metering_battery FULL
     2024-02-09 11:03:26   oilfox_metering_fillingPercentage 73
     2024-02-09 11:03:26   oilfox_metering_liters 2084
     2024-02-09 11:03:26   oilfox_nextMeteringAt 2024-02-10T08:00:54.768Z
     2024-02-09 11:03:26   oilfox_quantityUnit L
     2024-02-12 21:36:48   state           disconnected
     2024-02-12 21:26:52   token           eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJkYTYyZWMwNi1lNjkyLTRlMDktODU3NC0wN2ZjZWFlYmY3YjIiLCJwZXJtaXNzaW9ucyI6Int9Iiwic2NvcGUiOiJDVVNUT01FUl9BUEkiLCJpc3MiOiJvaWxmb3guaW8iLCJleHAiOjE3MDc3NzA1MTIsImp0aSI6Ijc2MzZhMGRkLWYxNmYtNGM2Zi04OWUzLWNjYTFkM2JlODdlNSIsImVtYWlsIjoibm9fd2VyYnVuZ0B0LW9ubGluZS5kZSJ9.SyflstaCRbVHW2PRRczpWV0TC4SL4d_Yzr_HRB4LTVdfmld0QJFXJIq0Nu3OUVXC25jf_tOrA7viE3bJxya-cQ
     2023-10-31 09:24:25   validationError ABOVE_STORAGE_MAX
   updateDispatch:
Attributes:
   DbLogExclude .*
   email      xxxxxxxxxxx@t-online.de
   event-min-interval oilfox_metering_liters:1800
   event-on-change-reading oilfox_metering_liters
   interval   600
   password   xxxxxxxxxxxxx
   room       Heizung
   stateFormat oilfox_metering_liters L oilfox_metering_fillingPercentage%
   verb
FHEM auf Ubuntu-VM (VMware), Heizung FHEM auf Raspi
Module: Volkszähler, ESPEASY, RFXtrx433, LaCrosseGateway, jeeLink, EMT7110, IRBlaster, LuftdatenInfo, MQTT, ESPDuino, Shelly, Abfallanzeige, (OilFox), Weatherman,  KeyValueProtocol
Modbus für Fronius Gen24-PV incl. ForeCast mit DWD und SolCast

moskito

Hi,
habe ebenfalls Probleme und mal in anderen Automationsforen geschaut.
Könnte sein, dass es lediglich ein Timeout Problem bei der Abfrage der Daten ist.
Ich habe mal in Zeile 303 und 409 den timeout Wert auf 45 hoch gesetzt und bin am testen ob das wirkt.
Falls du das ebenfalls probieren willst, dann nach den Änderungen das System mal neu durchstarten und im global Device das Attribut "exclude-from-update" mit "12_OilFox.pm" setzen, bis es etwas offizielles gibt.

Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

sky64

Dank für die Antwort
Ich habe die Timeouts mal geändert.
Allerding ohne wirklichen Erfolgt.
READINGS:
     2024-02-16 13:30:48   access_token_expires 2024-02-16 13:35:48
     2024-02-09 11:03:26   oilfox_currentMeteringAt 2024-02-09T08:00:54.768Z
     2024-02-09 11:03:26   oilfox_daysReach 617
     2024-02-09 11:03:26   oilfox_hwid     ON0422154509
     2024-02-09 11:03:26   oilfox_metering_battery FULL
     2024-02-09 11:03:26   oilfox_metering_fillingPercentage 73
     2024-02-09 11:03:26   oilfox_metering_liters 2084
     2024-02-09 11:03:26   oilfox_nextMeteringAt 2024-02-10T08:00:54.768Z
     2024-02-09 11:03:26   oilfox_quantityUnit L
     2024-02-16 13:30:48   state           authenticated
     2024-02-16 13:30:48   token           eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJkYTYyZWMwNi1lNjkyLTRlMDktODU3NC0wN2ZjZWFlYmY3YjIiLCJwZXJtaXNzaW9ucyI6Int9Iiwic2NvcGUiOiJDVVNUT01FUl9BUEkiLCJpc3MiOiJvaWxmb3guaW8iLCJleHAiOjE3MDgwODc1NDcsImp0aSI6ImQ4MzViYmFmLTU5YjMtNDdjMC04MDlmLWM2ODExZTg0MDY5ZSIsImVtYWlsIjoibm9fd2VyYnVuZ0B0LW9ubGluZS5kZSJ9._0hY1gCDJ7SLTVLMn5SvHceGqAzN6q3CbkOxyxlEpyi0WYRtA9RXYCDPP192quD5MLqvIhWX2zx0Oq_b5ijaYg
     2023-10-31 09:24:25   validationError ABOVE_STORAGE_MAX

Der wesentliche Unterschied ist der state "authenticated" statt "disconnected", aber die "oilfox_*"-Readings werden nicht aktualisiert.

Gruß Ron

FHEM auf Ubuntu-VM (VMware), Heizung FHEM auf Raspi
Module: Volkszähler, ESPEASY, RFXtrx433, LaCrosseGateway, jeeLink, EMT7110, IRBlaster, LuftdatenInfo, MQTT, ESPDuino, Shelly, Abfallanzeige, (OilFox), Weatherman,  KeyValueProtocol
Modbus für Fronius Gen24-PV incl. ForeCast mit DWD und SolCast

sky64

ZitatDer wesentliche Unterschied ist der state "authenticated" statt "disconnected", aber die "oilfox_*"-Readings werden nicht aktualisiert.

Ne, leider doch nicht. Inzwischen ist der state wieder aus "disconnected" gegangen  :(
FHEM auf Ubuntu-VM (VMware), Heizung FHEM auf Raspi
Module: Volkszähler, ESPEASY, RFXtrx433, LaCrosseGateway, jeeLink, EMT7110, IRBlaster, LuftdatenInfo, MQTT, ESPDuino, Shelly, Abfallanzeige, (OilFox), Weatherman,  KeyValueProtocol
Modbus für Fronius Gen24-PV incl. ForeCast mit DWD und SolCast

Joerg_L

ich reihe mich mal da mit ein...bei mir tuts auch schon einige Zeit nicht mehr....

ganz selten schaffe ich es mal durch wiederholtes manuelles Update einen Wert zu bekommen, aber meistens klappts nicht und automatisch gar nicht mehr.

sky64

Ich habe mal versucht nachzuvollziehen was das Modul tut.
Nach einem Neustart oder defmod wird eine Verbindung zu https://api.oilfox.io aufgebaut.
Das klappt offenbar auch und der state wechselt auf "authenticatet". Der token wird offenbar erneuert.
Allerdings wenn man auf "set ... update" klickt passiert garnix  ???
Wenn ich den Quellcode richtig interpretiere muss der status dazu auf "connected" stehen.
Wann das passiert bzw. das nicht der Fall ist habe ich nicht raus bekommen.


Gruß Ron
FHEM auf Ubuntu-VM (VMware), Heizung FHEM auf Raspi
Module: Volkszähler, ESPEASY, RFXtrx433, LaCrosseGateway, jeeLink, EMT7110, IRBlaster, LuftdatenInfo, MQTT, ESPDuino, Shelly, Abfallanzeige, (OilFox), Weatherman,  KeyValueProtocol
Modbus für Fronius Gen24-PV incl. ForeCast mit DWD und SolCast

moskito

Hab´s jetzt mal eine Zeit lang mit den erhöhten timeouts am laufen gehabt und es funktionierte.

@sky64:  Ich glaube (bin halt auch kein Programmierer) wichtig ist nichts anderes auszulösen, wenn sich das Modul gerade im Updatevorgang befindet. Und da können 45 Sekunden schon lang sein. Bei mir läuft es grundsätzlich mit einem Aktualisierungintervall von 14400 Sekunden und um halb sieben abends gibt es ein "set oilfox update" wenn die tägliche Messung vom Oilfox übertragen wurde und ausgewertet wird. Die Aktualisierungen/Tokenerneuerung alle 4 Stunden kann ich im Log nachvollziehen und der Zustand ist dauerhaft "connected".

Ich habe den Maintainer angeschrieben, um die Änderungen in die offizielle Version aufzunehmen.

Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

sky64

Vielen Dank für die Infos.

Leider funktioniert es bei mir nicht.
Ich komme nicht über den Status "authenticated" hinaus.
Somit bekomme ich auch keine neuen Daten.
Nach 5min ist der Token dann abgelaufen und beim nächsten "set update" wechselt der Status auf "disconnected"  :(
Das lässt sich nur mit eiem defmod oder Neustart beheben.
Leider gibt das Modul auch mit Verbose 5 keine weiteren Meldungen aus.


FHEM auf Ubuntu-VM (VMware), Heizung FHEM auf Raspi
Module: Volkszähler, ESPEASY, RFXtrx433, LaCrosseGateway, jeeLink, EMT7110, IRBlaster, LuftdatenInfo, MQTT, ESPDuino, Shelly, Abfallanzeige, (OilFox), Weatherman,  KeyValueProtocol
Modbus für Fronius Gen24-PV incl. ForeCast mit DWD und SolCast

Joerg_L

Bei mir hat es geholfen, ich habe das Timeout auf 60 gesetzt an den beiden Stellen und ein Doif mit Start um 17 Uhr welches ein set oilfox update durchführt und die Werte wurden aktualisiert!

 ;D

Joerg_L

Nachtrag....nun aktualisiert es sich regelmäßig