Yes, everything is working on OH3. I didn’t have time to setup persistence yet so I do not know if it is working.
You can find my rules in the post above, I have 4 sprinkler zones, 1 drip hose, mi Flora humidity sensor and rain sensor. I can manually select the water source (drinking water or rain tank), this could be also automatic but I wanted to prevent the rain water polluting my drinking water so to switch the source I need to manually connect the right pipe/hose. My sprinkler valves are connected to rPi zero installed outside and talking to OH via MQTT. I don’t have any sitemaps or widgets (yet), I modify the things via the OH3 UI. What I still need to do i to create some fallback to the rPi that is connected to the sprinklers to close the valves and stop the pump if the communication to the OH is lost.
So the items files is (maybe some things are obsolete):
//Sprinkler system
Switch itmIrrigationSprinklersTerraceCmd "Sprinklers Terrace" <rain> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationSprinklersTerraceCmd", expire="30m, command=OFF"}
Switch itmIrrigationSprinklersGardenHouseCmd "Sprinklers Garden House" <rain> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationSprinklersGardenHouseCmd", expire="30m, command=OFF"}
Switch itmIrrigationSprinklersEntranceCmd "Sprinklers Entrance" <rain> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationSprinklersEntranceCmd", expire="30m, command=OFF"}
Switch itmIrrigationSprinklersFrontCmd "Sprinklers Front" <rain> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationSprinklersFrontCmd", expire="30m, command=OFF"}
Switch itmIrrigationDripHoseCmd "Drip Hose" <rain> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationDripHoseCmd", expire="1h,command=OFF"}
Switch itmIrrigationPumpCmd "Pump" <pump> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationPumpCmd", expire="2h, command=OFF"}
Switch itmIrrigationRainwaterFilterFlushCmd "Filter Flush" <softener> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationRainwaterFilterFlushCmd", expire="5m, command=OFF"}
Switch itmIrrigationPiRelay8Cmd "Relay 8" <switch> (grpIrrigation) ["Switch"] {channel="mqtt:topic:sensor_reporter:chIrrigationPiRelay8Cmd"}
Number itmIrrigationPiSensorReporterStatus "Sensor Reporter Status" <status> (grpIrrigation) {channel="mqtt:topic:sensor_reporter:chIrrigationPiHealth"}
String EventHist // event history, used with Influxdb persistence
// Rain sensor - OPEN=wet, CLOSED=dry
Switch itmIrrigationRainSensor "Rain sensor" <rain> (grpIrrigation) ["OpenState"]
Switch itmIrrigationStartBtn "Manual watering start" <switch> (grpIrrigation, grpSettings) ["Switch"]
Switch itmIrrigationAuto "Watering automation" <switch> (grpIrrigation, grpSettings) ["Switch"]
Switch itmIrrigationFromRainTank "Water source is rain tank" <switch> (grpIrrigation, grpSettings) ["Switch"]
// Watering parameter
String itmIrrigationStartTime "Watering hour" <calendar> (grpIrrigation, grpSettings)
Number itmIrrigationDurationSprinklersTerrace "Watering duration - sprinklers terrace[%d min]" <pressure> (grpIrrigation, grpSettings)
Number itmIrrigationDurationSprinklersGardenHouse "Watering duration - sprinklers garden house[%d min]" <pressure> (grpIrrigation, grpSettings)
Number itmIrrigationDurationSprinklersEntrance "Watering duration - sprinklers entrance[%d min]" <pressure> (grpIrrigation, grpSettings)
Number itmIrrigationDurationSprinklersFront "Watering duration - sprinklers front[%d min]" <pressure> (grpIrrigation, grpSettings)
Number itmIrrigationDurationDripHose "Watering duration - drip hose[%d min]" <pressure> (grpIrrigation, grpSettings)
Number itmIrrigationDurationFilterFlush "Filter flush duration [%d min]" <pressure> (grpIrrigation, grpSettings)
Number itmIrrigationScaleFactor "Correction coefficient [%d %%]" <pressure> (grpIrrigation, grpSettings)
Number itmIrrigationMinimumReqRainfallCfg "Minimum reqired rainfall [%d mm]" <pressure> (grpIrrigation, grpSettings)
String itmIrrigationLastDate "Last watering date [%s]" <humidity> (grpIrrigation)
String itmIrrigationNotification_Proxy (grpIrrigation) // START - start watering , STOP - stop watering
Number itmMinimumSoilMoisture "Minimum Soil moisture [%d %%]" <rain> (grpIrrigation, grpSettings)
//Health "Sensor reporter Health"
Switch itmSprinklersPiSensorReporterHealth "Sprinklers Pi Sensor reporter Health" <status> (grpIrrigation, grpHealth) {expire="5m,command=OFF"}
//Mi Flora sensors
Number:Illuminance Miflora_Azalea_Light "Light Intensity [%d lx]" <light> (grpMiFloraAzalea) ["Measurement", "Light"] { channel="mqtt:topic:AzaleaOutside:chLight" }
Number:Dimensionless Miflora_Azalea_Battery "Battery Charge [%d %%]" <battery> (grpMiFloraAzalea) { channel="mqtt:topic:AzaleaOutside:chBattery" }
Number:Temperature Miflora_Azalea_Temperature "Temperature [%.1f °C]" <temperature> (grpMiFloraAzalea, grpTemperature) ["Measurement", "Temperature"] { channel="mqtt:topic:AzaleaOutside:chTemperature" }
Number Miflora_Azalea_Conductivity "Soil Fertility [%d µS/cm]" <lawnmower> (grpMiFloraAzalea) ["Measurement", "Point"] { channel="mqtt:topic:AzaleaOutside:chConductivity" }
Number:Dimensionless Miflora_Azalea_Moisture "Soil Moisture [%d %%]" <humidity> (grpMiFloraAzalea) ["Measurement", "Humidity"] { channel="mqtt:topic:AzaleaOutside:chMoisture" }
//Mi Flora service health
Switch itmSprinklersPiMiFloraServiceHealth "Sprinklers Pi Mi Flora health" <status> (grpMiFloraAzalea, grpHealth) {expire="12h,command=OFF"}