Seite 1 von 2

nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 4. Jun 2024 20:37
von Johannes911
Hallo zusammen,
der Umzug hat bis auf drei Probleme gut funktioniert. Vorher lief openHAB im Docker und 3.4.4(?)
zuerst mal Problem #1 ist das nicht funktionieren von Transformation (comma2dot.js). Das Script welches vorher funktioniert hat ist im Ordner transform abgelegt:

Code: Alles auswählen

(function(i) {
    return i.toString().replace(',', '.'); // replaces comma by dot
  })(input)
im BLThing steht u.a.:
Thing http:url:bayLuSZi "BaySZ" @ "EG_SZ"
[ baseURL="http://192.168.178.48/index.html?export=1",
refresh= 60

]
{
Channels:
Type number : SZ_BL_Temp_In "Temp_In" [ stateTransformation = "REGEX:.*Temp_In: ([-]*[\\d]+,[\\d]*).*∩JS:comma2dot.js", mode = "READONLY" ]
in der addons.cfg steht u. a.:

Code: Alles auswählen

# A comma-separated list of bindings to install (e.g. "binding = knx,sonos,zwave")
binding = knx, http, network, ntp, mqtt

# A comma-separated list of miscellaneous services to install (e.g. "misc = openhabcloud")
#misc = 

# A comma-separated list of persistence services to install (e.g. "persistence = jpa,rrd4j")
#persistence = 

# A comma-separated list of transformation services to install (e.g. "transformation = jsonpath,map")
transformation = jsonpath, regex, javascript
genau so wie unter 3.4.4

als Fehlermeldung kommt im log:

Code: Alles auswählen

2024-06-04 20:34:50.774 [WARN ] [core.karaf.internal.FeatureInstaller] - The transformation add-on 'javascript' does not exist - ignoring it.

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 4. Jun 2024 20:48
von Johannes911
zum Problem #2

direkt nach dem Start steht im log:

Code: Alles auswählen

2024-06-04 20:34:02.943 [ERROR] [place.internal.json.JsonAddonService] - bundle org.openhab.core.addon.marketplace:4.1.2 (156)[org.openhab.core.addon.marketplace.internal.json.JsonAddonService(54)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
danach folgen viele viele Zeilen, in einer scheint der Übeltäter benannt zu werden: "Solarman"

Code: Alles auswählen

2024-06-04 20:34:03.003 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.1.2 (184)[org.openhab.core.io.rest.core.internal.addons.AddonResource(172)] : Could not get service from ref {org.openhab.core.addon.AddonService}={urls=https://github.com/catalinsanda/org.openhab.binding.solarman/releases/download/v0.3.2/org.openh>
2024-06-04 20:34:03.007 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.1.2 (184)[org.openhab.core.io.rest.core.internal.addons.AddonResource(172)] : DependencyManager : invokeBindMethod : Service not available from service registry for ServiceReference {org.openhab.core.addon.AddonService}={urls=https://github.com/cat>
2024-06-04 20:34:03.630 [ERROR] [place.internal.json.JsonAddonService] - bundle org.openhab.core.addon.marketplace:4.1.2 (156)[org.openhab.core.addon.marketplace.internal.json.JsonAddonService(54)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
Ich kann mich erinnern, dass ich ganz am Anfang mal versucht habe dieses addon down zu laden. Ich kann auf dem raspi nirgens finden wo ich dies wieder abstellen könnte. auch ein stop, clear-cache und danach wieder start hilft hier nicht.

Wo kann ich mit der Suche ansetzen bzw. was mache ich falsch?

muß ich eventuel openHAB stoppen und dann irgendwelche tmp, cache, ???-Daten von Hand löschen? Die gesamte Konfiguration ist über einzelne Files generiert.

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 4. Jun 2024 21:50
von udo1toni
Ja, leicht erklärbar.

Code: Alles auswählen

2024-06-04 20:34:50.774 [WARN ] [core.karaf.internal.FeatureInstaller] - The transformation add-on 'javascript' does not exist - ignoring it.
liefert eigentlich schon einen starken Hinweis. Wenn Du dann noch etwas in den Breeaking Changes querliest, kannst Du feststellen, dass es keine javascript Transformation mehr gibt. ~Shock~
:) Dafür kannst Du jetzt aber für Transformations jede beliebige Scriptsprache nutzen (auch JavaScript...), solange diese auch installiert ist.
Das heißt: Entferne das javascript bei transformation, ergänze dafür bei automation jsscripting:

Code: Alles auswählen

# A comma-separated list of automation services to install (e.g. "automation = groovyscripting")
automation = jsscripting

# A comma-separated list of bindings to install (e.g. "binding = knx,sonos,zwave")
binding = knx, http, network, ntp, mqtt

# A comma-separated list of miscellaneous services to install (e.g. "misc = openhabcloud")
#misc = 

# A comma-separated list of persistence services to install (e.g. "persistence = jpa,rrd4j")
#persistence = 

# A comma-separated list of transformation services to install (e.g. "transformation = jsonpath,map")
transformation = jsonpath, regex
Eventuell fehlt automation bei Dir komplett, macht aber nichts, Du musst den Parameter nur ergänzen...

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 4. Jun 2024 23:22
von Johannes911
danke erstmal!

der ursprüngliche Fehler ist weg - leider kommen aber eine Daten an. Das einzige was ich in den Logs finde ist:
2024-06-04 22:49:34.934 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Bayernluft.things'
2024-06-04 22:49:35.091 [INFO ] [nding.http.internal.HttpThingHandler] - Using the secure client for thing 'http:url:bayLuBadi'.
Es kommen auch keine Einträge in events.log davon an.

heißt secure client dass jetzt ein User und ein Passwort benötigt werden? Das wird hier leider nicht gehen, da das Gerät das nicht unterstützt.

Wenn es das nicht ist wie und wo kann ich dann suchen?

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 4. Jun 2024 23:31
von Johannes911
in den /var/log/messages habe ich noch etwas gefunden was nach jedem Stop/Start einmal geschrieben wird

Code: Alles auswählen

Jun  4 22:41:28 raspi-dorn pipewire[20896]: could not set nice-level to -11: Permission denied
Jun  4 22:41:28 raspi-dorn pipewire[20896]: could not make thread realtime: Permission denied
Jun  4 22:41:28 raspi-dorn pipewire-media-session[20906]: could not set nice-level to -11: Permission denied
Jun  4 22:41:28 raspi-dorn pipewire-media-session[20906]: could not make thread realtime: Permission denied
bei einem boot kommen ein paar mehr Fehlermeldungen

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 5. Jun 2024 01:15
von udo1toni
Keine Ahnung, das stammt eher nicht von openHAB. Was hast Du denn für einen Unterbau verwendet (Welches OS, welches Image)?

Was steht in Bayernluft.things (insbesondere wäre natürlich das Thing http:url:bayLuBadi interessant)? Passworte, API-Keys usw. kannst Du gerne unkenntlich machen.

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 5. Jun 2024 10:24
von Johannes911
openHAB vorher 3.4.4 in einem Docker jetzt 4.1.2 auf raspi habian

Code: Alles auswählen

Linux raspi-dorn 6.1.21-v7+ #1642 SMP Mon Apr  3 17:20:52 BST 2023 armv7l GNU/Linux
seit letztem Start sind dies die einzigen Einträge in openhab.log:

Code: Alles auswählen

2024-06-05 00:30:05.364 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Bayernluft.things'
2024-06-05 00:30:05.503 [INFO ] [nding.http.internal.HttpThingHandler] - Using the secure client for thing 'http:url:bayLuSZi'.
2024-06-05 00:30:05.534 [INFO ] [nding.http.internal.HttpThingHandler] - Using the secure client for thing 'http:url:bayLuBadi'.
2024-06-05 00:33:23.123 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Bayernluft_Badezimmer.items'
2024-06-05 00:33:38.433 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Bayernluft_Schlafzimmer.items'
in der Bayernluft.things steht:

Code: Alles auswählen

Thing http:url:bayLuSZi "BaySZ" @ "EG_SZ"  
    [ baseURL="http://192.168.178.48/index.html?export=1",
    refresh= 60,
    timeout= 300000
    ]
    {
    Channels:
        Type number : SZ_BL_Temp_In     "Temp_In"               [ stateTransformation = "REGEX:.*Temp_In: ([-]*[\\d]+,[\\d]*).*∩JS:comma2dot.js", mode = "READONLY" ]
in den ITEMS steht:

Code: Alles auswählen

// 2023-06-09
Number    Bad_BL_Temp_In                   "Temp_In [%s °C]"                      (EG_Bathroom, gTemperature, OO_Uebersicht)     ["Temperature"]    {Channel="http:url:bayLuBadi:Temp_In"}
diese Konfiguration hat auf 3.4.4 problemlos gelaufen, jetzt auf 4.1.2 nicht mehr

was mit an anderer Stelle aber noch aufgefallen ist, dass openHAB sich irgendwo noch etwas speichert was mit clear-cache nicht gelöscht wird. Ich sehe es daran dass in der auskommentierte jdbc.cfg der Eintrag:

Code: Alles auswählen

# Rename existing Tables using tableUseRealItemNames and tableIdDigitCount (optional, default: false) 
# USE WITH CARE! Deactivate after Renaming is done!
#    rebuildTableNames=true
nicht berücksichtigt wird. Nach jedem STOP/START bekomme ich im log dass die Neugenerierung der Tables ausgeführt worden ist und ich diesen Schalter wieder zurücksetzen soll.

Daher schon meine vorherige Frage: welche tmp-, cache-, ???-Dateien löschen um sozusagen wieder ganz am Anfang zu stehen.
Ich hoffe dass damit dann mein "Solarman-Problem" gleich mit gelöst wird.

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 5. Jun 2024 16:17
von Johannes911
also nach einigen google Anfragen habe ich mal probehalber alle Dateien unter /var/lib/openhab/config/org/openhab gelöscht.

Openhab startet jetzt ohne Fehler, allerdings immer noch ohne Daten über http einzusammeln. Laut Log werden Bayernluft.things geladen als auch die Bayernluft_Badezimmer.items und auch Bayernluft_Schlafzimmer.items. Später dann der Eintrag using the secure client for thing 'http:url:bayLuSZi'

Danach sollte es meiner Meinung nach laufen - tut es aber nicht.
Kann dieses comma2dot.js noch Probleme verursachen? Im Moment liegt es unter dem Verzeichnis transform. Muss es eventuell nach automation verschoben werden? Immer hin ist ja jetzt jsscripting unter automation eingetragen (in addons.cfg)

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 5. Jun 2024 19:35
von Johannes911
ein paar Versuche später:
mein Thing umbenannt und auch mein Item umbenannt so dass openHAB da nicht mehr mit macht.
zusätzlich im Ordner transform die Datei comma2dot.js unbrauchbar umbenannt

dann nach diesem Tutorial

Code: Alles auswählen

https://community.openhab.org/t/clear-the-cache/36424
den Cache gründlich gelöscht.
Jetzt mein Thing wieder brauchbar benannt und dadurch folgenden Fehler bekommen:

Code: Alles auswählen

2024-06-05 19:20:23.950 [WARN ] [.transform.SingleValueTransformation] - Executing transformation ChannelStateTransformation{pattern='comma2dot.js', serviceName='JS'} failed: Could not get script for UID 'comma2dot.js'.
da scheinen ja irgendwelche Daten per http ausgelesen zu werden
comma2dot.js wieder hergestellt -> keine Fehlermeldungen mehr im Log

die Items wieder hergestellt -> immer noch keine Fehlermeldungen im Log

ABER: es kommen keine Daten bis zum Item

Re: nach Umzug auf raspi und udgrade auf 4.1.2 Tranformation funtioniert nicht

Verfasst: 5. Jun 2024 22:27
von Johannes911
irgendwie scheint OH4.1.2 auch nicht so richtig Sitemaps zu mögen. Im Firefox Browser bekomme ich die Meldung von der openHAB-Oberfläche:
Bild

auf dem iPhone in der App wird es sehr wohl angezeigt. Dazu habe ich nur alte Beiträge von 4.xx ganz früh gefunden - leider ohne wirkliche Lösung.

da die Geräte beim Aufruf per http im Firefox die gewünschten Daten immer noch liefern, wäre es interessant wenn man sehen könnte was openHAB einließt. Kann man da eine Ausgabe direkt nach dem Aufruf einschalten und sich ansehen?