I got a error message I haven’t got before.
2022-05-29 11:59:39.396 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*
That has been discused several times in the forum, but I haven’t found the solution for my problem.
I’ on 3.3.0.M5. And I needed to calibrate a rollershutter (Fibaro FGR222 Rollershutter 2). That is needed quite regulary for this specific device so I have a routine programmed, which used to work flawless, but now it did not execute the calibration:
@rule(u"Rollershutter: Kalibrierung")
@when("Item swi_LivingRoom_Shutter_West_Calib received command ON")
@when("Item swi_LivingRoom_Shutter_Terrace_Calib received command ON")
@when("Item swi_LivingRoom_Shutter_South_Calib received command ON")
@when("Item swi_LivingRoom_Shutter_Garden_Calib received command ON")
def RollershutterCalibration(event):
LOGGER = "Rollershutter: RollershutterCalibration"
# Kalibrierung des Rolladen-Devices automatisch durchführen
CalibItem = ir.getItem(event.itemName)
Window = CalibItem.label[len("Kalibrierung starten: Rolladen "):]
LogAction.logInfo(LOGGER, u"Rolladen {} wird kalibriert.".format(Window))
# ZWave-Kommando für Kalibrierung zusammenstellen
Node = 0
if Window == "West":
Node = 4
if Window == "Terrasse":
Node = 5
if Window == u"Süd":
Node = 6
if Window == "Garten":
Node = 7
if Node == 0:
LogAction.logInfo(LOGGER, u"Kalibrierung fehlgeschlagen: Node unbekannt für Fenster {}".format(Window))
return
# Device-Namen URL-tauglich machen
Device = "zwave%3Adevice%3Agehirn%3Anode" + str(Node)
Login = RESTUserLogin + ":" + RESTUserPasswd + "@"
Service = openhabHost + ":" + openhabPort
HTTPString = "http://" + Login + Service + "/rest/things/" + Device + "/config"
# Kalibrierungs-Befehl triggern
Parameter = "{\"config_29_1\": 1}"
HTTP.sendHttpPutRequest(HTTPString, "application/json", Parameter)
sleep(15)
# Funktion wieder freigeben
events.sendCommand(CalibItem, OFF)
# Kalibrierungs-Befehl zurücksetzen (falls noch aktiv)
Parameter = "{\"config_29_1\": 0}"
HTTP.sendHttpPutRequest(HTTPString, "application/json", Parameter)
return
This caused the following errors:
2022-05-29 11:59:39.365 [INFO ] [lershutter: RollershutterCalibration] - Rolladen Garten wird kalibriert.
2022-05-29 11:59:39.396 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*
2022-05-29 11:59:54.434 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*
In the zwave debug log I got:
2022-05-29 11:59:39.385 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 7: Configuration update received
2022-05-29 11:59:54.424 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 7: Configuration update received
Later I started the calibration directly from OH UI by modifying the thing parameter there. That worked, but not my rule.