Openhab3 HmIP-SWO-PL weather sensor not updatin

Hello everybody,
since my raspbery died my openhab2.5 is gone. Fortunately I was lucky and got a new Pi4. I installed raspian with OH3. Currently I’m trying to get every device back to work step by step. I define every thing via thing file and the first homematic devices are working now. But as I added the weather sensor I encountert a problem. All interesting values are displayed but not updating. Does anybody has an idea how to solve this?

Many thank in advance

This is my thing file code
`Thing HmIP-SWO-PL 00181BE98B3E30 “Wetterstation” @ “Hof” {
Channels:

        Type HmIP-SWO-PL_1_ACTUAL_TEMPERATURE : 1#ACTUAL_TEMPERATURE [
            delay = 0,
            receiveDelay = 0  
        ]
        Type HmIP-SWO-PL_1_HUMIDITY : 1#HUMIDITY [
            delay = 0,
            receiveDelay = 0  
        ]
        Type HmIP-SWO-PL_1_WIND_SPEED : 1#WIND_SPEED [
            delay = 0,
            receiveDelay = 0  
        ]
        Type HmIP-SWO-PL_1_RAIN_COUNTER : 1#RAIN_COUNTER [
            delay = 0,
            receiveDelay = 0  
        ]
        Type HmIP-SWO-PL_1_RAINING : 1#RAINING [
            delay = 0,
            receiveDelay = 0  
        ]}`

Hansen

Please can anybody help? I recognized that all values are updatet one time when I delete the sensor from thing file and then define it again.

Hi Johannes,

this normally happens if events sent from the CCU cannot be received by openHAB.
First of all you should check whether all required ports are open (see add-on documentation for details).

In order to help you, I would need more information about your environment:

  • type of HomeMatic CCU
  • exact OH version
  • general information about your environment: where is OH running (machine, OS, Docker or VM?)
  • any mesages in openhab.log?

I would also recommend trying to define configure the OH gateway and at least some items within OH Main UI to test whether it generally works before using text files.

Hi Martin,
I’m pretty sure this is not a general problem with my setup, as other homematic and shelly devices work fine. To be honest I already had the suspicion that it could be due to the gateway extras. I’m just not quite sure how to properly define them in the thing file. On the other hand, then all homamatic devices should not work properly, right?

I also can’t say exactly when the problem with the weahtersensor occured. I have been experimenting with the habpanel and the first thing I did was create a widget that shows me the outside temperature. That’s when I first noticed that the data didn’t seem to be updating. At the same time my old system on a Raspbery Pi 2 with OH2 failed. Since then I’m trying to get a new system on a Raspberry Pi4 with 8GB and openhabian up and running again step by step. I have updated yesterday to OH 3.3. The CCU2 with firmware version 2.47.20 is used.
I looked at the error logs but found nothing that could be related to the weatherseansor. I hope the information helps narrow down the possible error further.

P.S. Via the Web Ui of the CCU2 the weather station seems to work.

Thanks in advance and best regards
Johannes

Hi Johannes

If you can receive updates from other devices then the problem is not caused by networking issues.

Do you see any messages in events.log about received messages?

But maybe the problem is caused by the item definitions. If you use a text file, please post them here. Since OH 3.3 the definition of numeric types is more restrictive (see Units Of Measurement | openHAB). That’s one reason why I am now using MainUI to define items.

You can ignore gateway extras if you don’t need the functionality provided by this pseudo device.

Hello Martin,
thank you very much for your answer. At the moment I am not at home. I will provide all related text files and logs as soon as possible. But your guesses about the numeric types could be a possible reason.

Hi Martin here is the snippet of my related thing file:

// Homematic Things
Bridge homematic:bridge:ccu2 [ gatewayType="ccu", gatewayAddress="192.xxx.xxx.xxx", callbackHost="192.168.8.135" ]{

	Thing GATEWAY-EXTRAS-724E7770    GWE00000000    "CCU2 - Gateway-Extras"

    //   Beleuchtungen

    // Flur
    Thing HM-LC-Sw1-DR     OEQ0330832      "Schalter"    @    "Flur" {
        Channels:
            
            Type M-LC-Sw1-DR_STAE : 1#STATE [
                delay = 0,
                receiveDelay = 0
            ]
            
    }

    //       Esszimmer

    Thing HM-LC-Dim1TPBU-FM     NEQ1802517      "Dimmerschalter"    @    "Esszimmer" {
        Channels:
            
            Type HM-LC-Dim1TPBU-FM_1_LEVEL : 1#LEVEL [
                delay = 0,
                receiveDelay = 0
            ]
            
    }

    Thing HM-LC-Sw1-FM     OEQ1868041      "Steckdose-Wheinachtsstern"    @    "Esszimmer" {
        Channels:
            
            Type HM-LC-Sw1-FM_1_STATE : 1#STATE [
                delay = 0,
                receiveDelay = 0
            ]
            
    }

    Thing HM-CC-RT-DN     OEQ0857126      "Thermostat links"    @    "Esszimmer" {   
        Channels:
            
            Type HM-CC-RT-DN_4_SET_TEMPERATURE : 4#SET_TEMPERATURE [
                delay = 0,
                receiveDelay = 0
            ]            
    }    

    Thing HM-CC-RT-DN     OEQ0667382      "Thermostat rechts"    @    "Esszimmer" {   
        Channels:
            
            Type HM-CC-RT-DN_4_SET_TEMPERATURE : 4#SET_TEMPERATURE [
                delay = 0,
                receiveDelay = 0
            ]            
    }

    //      Küche

    Thing HM-LC-Dim1TPBU-FM     NEQ1802520      "Dimmerschalter"    @    "Küche" {
        Channels:
            
            Type HM-LC-Dim1TPBU-FM_1_LEVEL : 1#LEVEL [
                delay = 0,
                receiveDelay = 0
            ]

    }

    Thing HM-CC-RT-DN     OEQ0858472      "Thermostat links"    @    "Küche" {   
        Channels:
            
            Type HM-CC-RT-DN_4_SET_TEMPERATURE : 4#SET_TEMPERATURE [
                delay = 0,
                receiveDelay = 0
            ]            
    }

    Thing HM-CC-RT-DN     OEQ0666462      "Thermostat rechts"    @    "Küche" {   
        Channels:
            
            Type HM-CC-RT-DN_4_SET_TEMPERATURE : 4#SET_TEMPERATURE [
                delay = 0,
                receiveDelay = 0
            ]            
    }

    
        
    //  Wetterstation

    Thing HmIP-SWO-PL   00181BE98B3E30    "Wetterstation"   @   "Hof" {
        Channels:

            Type HmIP-SWO-PL_1_ACTUAL_TEMPERATURE : 1#ACTUAL_TEMPERATURE [
                delay = 0,
                receiveDelay = 0  
            ]
            Type HmIP-SWO-PL_1_HUMIDITY : 1#HUMIDITY [
                delay = 0,
                receiveDelay = 0  
            ]
            Type HmIP-SWO-PL_1_WIND_SPEED : 1#WIND_SPEED [
                delay = 0,
                receiveDelay = 0  
            ]
            Type HmIP-SWO-PL_1_RAIN_COUNTER : 1#RAIN_COUNTER [
                delay = 0,
                receiveDelay = 0  
            ]
            Type HmIP-SWO-PL_1_RAINING : 1#RAINING [
                delay = 0,
                receiveDelay = 0  
            ]
    }

    //Thing   GATEWAY-EXTRAS-CCU2 GWE00000000     "CCU2 - Gatway-Extras"

And this is the item:

// Wetterstation //

Number Wetterstation_Temperatur "Außentemperatur [%.1f °C]" <temperature> {channel="homematic:HmIP-SWO-PL:ccu2:00181BE98B3E30:1#ACTUAL_TEMPERATURE"}
Number Wetterstation_Luftfeuchtigkeit "Luftfeuchtigkeit [%d %%]" <humidity> {channel="homematic:HmIP-SWO-PL:ccu2:00181BE98B3E30:1#HUMIDITY"}
Number Wetterstation_Windgeschwindigkeit "Windgeschwindigkeit [%.1f km/h]" <wind> {channel="homematic:HmIP-SWO-PL:ccu2:00181BE98B3E30:1#WIND_SPEED"}
Number Wetterstation_Regenmenge "Regenmenge [%.1f mm]" <rain> {channel="homematic:HmIP-SWO-PL:ccu2:00181BE98B3E30:1#RAIN_COUNTER"}
Switch Wetterstation_Regen "Regen" <rain> {channel="homematic:HmIP-SWO-PL:ccu2:00181BE98B3E30:1#RAINING"}

this could be a interssting log:

08:08:12.557 [ERROR] [.ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘Zeitraum_Temperatur’ for widget org.openhab.core.model.sitemap.sitemap.Switch
08:08:12.562 [ERROR] [.ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘Zeitraum_Temperatur’ for widget org.openhab.core.model.sitemap.sitemap.Switch
08:08:12.567 [ERROR] [.ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item ‘Zeitraum_Temperatur’ for widget org.openhab.core.model.sitemap.sitemap.Switch

and this:

08:09:00.090 [ERROR] [rd4j.internal.RRD4jPersistenceService] - Could not create rrd4j database file ‘/var/lib/openhab/persistence/rrd4j/Wetterstation_Temperatur.rrd’: Invalid file header. File [/var/lib/openhab/persistence/rrd4j/Wetterstation_Temperatur.rrd] is not a RRD4J RRD file
08:09:00.096 [ERROR] [rd4j.internal.RRD4jPersistenceService] - Could not create rrd4j database file ‘/var/lib/openhab/persistence/rrd4j/Wetterstation_Regenmenge.rrd’: Invalid file header. File [/var/lib/openhab/persistence/rrd4j/Wetterstation_Regenmenge.rrd] is not a RRD4J RRD file

This is the related sitemap snippet:

Frame label="Wetter" 
		{
			Text item=Wetterstation_Temperatur
			//Text label="Wetter" icon="sun_clouds"
				{
					Text item=Wetterstation_Temperatur
					Text item=Wetterstation_Luftfeuchtigkeit
					Text item=Wetterstation_Windgeschwindigkeit
					Text item=Wetterstation_Regenmenge
					Switch item=Wetterstation_Regen icon="rain" label="Regen"
					Switch item=Zeitraum_Temperatur label="Interval" icon="time" mappings=[0="Stunde", 1="Tag", 2="Woche", 3="Jahr"]
					//Chart item=Wetterstation_Temperatur period=h refresh=7200 visibility=[Zeitraum_Temperatur==0, Zeitraum_Temperatur=="Uninitialized"] legend=true
					//Chart item=Wetterstation_Temperatur period=D refresh=14400 visibility=[Zeitraum_Temperatur==1] legend=true
					//Chart item=Wetterstation_Temperatur period=W refresh=14400 visibility=[Zeitraum_Temperatur==2] legend=true
					//Chart item=Wetterstation_Temperatur period=Y refresh=14400 visibility=[Zeitraum_Temperatur==3] legend=true
				}
		}		

and this the persist file:

Strategies {
        everyMinute : "0 * * * * ?"
        default = everyChange
}

Items {
        Wetterstation_Temperatur : strategy = everyUpdate, everyMinute, restoreOnStartup
        Wetterstation_Regenmenge : strategy = everyUpdate, everyMinute, restoreOnStartup
        Solar_Inverter_1 : strategy = everyUpdate, everyMinute, restoreOnStartup
}

Hopefully this can help finding the error

I think the problem can be caused by your item definitions. “Number” is no longer OK. You have the add the unit, e.g. Number:Temperature for temperatures.

I think the rrd4j problem has a different reason and is not caused by the binding (maybe also caused by the item definitions).

Ok it seems slowly I understand how it works. Only replacing “number” by “number:temprature” was not the solution until now.
Is it possible that I first have to define the channel type “temperature” like in the documentation?
If yes where must it be done?

Hi Johannes,

since OH 3 I am no longer using text files to define things and items. I like the idea of the semantic model that makes creating nice UIs much easier. Therefore I would have to read the docs before I could help you with channel and items definitions.

Martin

now I found some other issue in the log files which can be a possible reason:

10:57:52.065 [WARN ] [nternal.handler.HomematicThingHandler] - Value for datapoi nt HmDatapoint[name=CONF_BUTTON_TIME,value=255,defaultValue=255,type=INTEGER,min Value=1,maxValue=254,options=null,readOnly=false,readable=true,unit=minutes,desc ription=CONF_BUTTON_TIME,info=null,paramsetType=MASTER,virtual=false,trigger=fal se] is outside of valid range, using default value for config.

Has some body any idea whta that mean?

I got all my other devices back to work. But only the weather sensor still only updates the values one time after restarting openhab

By the way defining the weather sensor via UI leads to exaclty the same problem. Additionally some of the Homematic devices are not controlable by alexa while others are. I’m realy getting confused by OH3

I just got the information in another thread with a similar problem that probably rrd4j caused the problem:

Maybe it is the same kind of problem and you can solve it by fixing the rrd4j database

Hi Martin,
thank you for your continued support and thank you for pointing this out. I have done “fix-permissions”, deleted the *.persist and uninstalled the rrd4j binding. Unfortunately this did not help. Meanwhile I think there is a problem with the homematic binding. In the log files I found the following:

2022-10-01 17:26:06.659 [INFO ] [ommunicator.AbstractHomematicGateway] - HmGatewayInfo[id=CCU,type=CCU2,firmware=2.47.20,address=OEQ0457574,rf=true,wired=false,hmip=true,cuxd=false,group=true]
2022-10-01 17:26:25.654 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Datapoint name ‘${sysVarAlarmZone1}’ contains invalid characters, new Datapoint name ‘_sysVarAlarmZone1
2022-10-01 17:26:25.655 [INFO ] [ng.homematic.internal.misc.MiscUtils] - Datapoint name ‘${sysVarPresence}’ contains invalid characters, new Datapoint name ‘_sysVarPresence
2022-10-01 17:26:26.225 [WARN ] [ternal.handler.HomematicThingHandler] - Value for datapoint HmDatapoint[name=CONF_BUTTON_TIME,value=255,defaultValue=255,type=INTEGER,minValue=1,maxValue=254,options=null,readOnly=false,readable=true,unit=minutes,description=CONF_BUTTON_TIME,info=null,paramsetType=MASTER,virtual=false,trigger=false] is outside of valid range, using default value for config.
2022-10-01 17:26:29.279 [WARN ] [ternal.handler.HomematicThingHandler] - Value for datapoint HmDatapoint[name=CONF_BUTTON_TIME,value=255,defaultValue=255,type=INTEGER,minValue=1,maxValue=254,options=null,readOnly=false,readable=true,unit=minutes,description=CONF_BUTTON_TIME,info=null,paramsetType=MASTER,virtual=false,trigger=false] is outside of valid range, using default value for config.
2022-10-01 17:26:30.110 [WARN ] [ternal.handler.HomematicThingHandler] - Value for datapoint HmDatapoint[name=CONF_BUTTON_TIME,value=255,defaultValue=255,type=INTEGER,minValue=1,maxValue=254,options=null,readOnly=false,readable=true,unit=minutes,description=CONF_BUTTON_TIME,info=null,paramsetType=MASTER,virtual=false,trigger=false] is outside of valid range, using default value for config.

but I can’t find any errors in the event.log

Also a firmware update of the CCU2 has brought nothing. I would be very grateful for any hints to narrow down the problem or possible solutions.

The problem regarding the values that are outside of the valid has been solved with OH 3.3. But I have no idea whether there might by remaining problems with text files. But if the state of all things is “Online” then this should not be a problem (see my comment here: [homematic] Binding complains about values out of range · Issue #13477 · openhab/openhab-addons · GitHub)

But what is your real problem now? Some posts ago, you mentioned problems with Alexa. Do you have problems with updates in OH Main UI or Basic UI or only with Alexa? As far as I know the configuration for Alexa has changed with 3.x.

Sorry Martin for that confusion.
I’ve still the problem, that the values of my homematic weather sensor are not updating.

This happens only one time after restart the ccu2 or openhab. When it’s running the the values does not change.

OK, let’s try it with some more trace output. Please set the log level for the Homematic binding to TRACE, then try to provoke some values changes in the weather station and see whether there is some output relatet to the weather station in openhab.log (please post it here if you can identify some output).

If the TRACE shows no information about received data then the binding probably does not receive any events from the CCU. If OH is running in a container?
Another option would be to ssh into the CCU and check the logs on this side. But I am not sure whether there can be found relevant information if it is not possible to send an event (would have to check this with my installation).

Hi Martin,
I followed your advise and set the log level for the homematic binding via the openhab console:

log:set TRACE org.openhab.binding.homematic

Now I’m getting this additional output:

09:37:18.161 [TRACE] [rnal.communicator.client.XmlRpcClient] - Client XmlRpcRequest (port 2001):
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodCall><methodName>listBidcosInterfaces</methodName>
<params></params></methodCall>
09:37:18.170 [TRACE] [rnal.communicator.client.XmlRpcClient] - Client XmlRpcResponse (port 2001):
<?xml version="1.0" encoding="iso-8859-1"?>
<methodResponse><params><param>
        <value><array><data><value><struct><member><name>ADDRESS</name><value>OEQ0457574</value></member><member><name>CONNECTED</name><value><boolean>1</boolean></value></member><member><name>DEFAULT</name><value><boolean>1</boolean></value></member><member><name>DESCRIPTION</name><value></value></member><member><name>DUTY_CYCLE</name><value><i4>0</i4></value></member><member><name>FIRMWARE_VERSION</name><value>2.8.6</value></member><member><name>TYPE</name><value>CCU2</value></member></struct></value></data></array></value>
</param></params></methodResponse>

Unfortunately I can’t do much with it

It is always the same. I checked the values of the weather station through the web UI of my CCU2, even if the temperature or any other value changed, there was always the same cyclic output from above

I checked if the recording is ok by operating another homematic device. This is the corresponding log:

09:51:55.591 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'OG_Flur_Decke' received command OFF
09:51:55.598 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'OG_Flur_Decke' predicted to become OFF
09:51:55.604 [DEBUG] [nternal.handler.HomematicThingHandler] - Received command 'OFF' for channel 'homematic:HM-LC-Sw1-DR:ccu2:OEQ0330832:1#STATE'
09:51:55.610 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'OG_Flur_Decke' changed from ON to OFF
09:51:55.610 [TRACE] [.converter.type.AbstractTypeConverter] - Converting type OnOffType with value 'OFF' using OnOffTypeConverter to datapoint 'OEQ0330832:1#STATE' (dpType='BOOL', dpUnit='null')
09:51:55.617 [DEBUG] [communicator.AbstractHomematicGateway] - Sending datapoint 'OEQ0330832:1#STATE' with value 'false' to gateway with id 'ccu2' using rxMode 'DEFAULT'

Interesting are the messages starting with “Received … for channel”.

Can you provide me the complete log file or at an excerpt where you would expect messages from the weather station. With log mode set to TRACE the binding writes every message it receives from the CCU to the log file. They are sometimes hard to read because they can be quite large and are in XML format. If the binding receives no messages there is definitely a communication problem.

Is the weather station the only HmIP device you are using? Or do you have other HmIP devices? If yes, do you receive events from the other devices?