Python Plugin: ebusd

Python and python framework

Moderator: leecollings

Post Reply
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Python Plugin: ebusd

Post by Barberousse »

Hello,

I made a plugin for Domoticz to connect to ebus boilers (tested with a Vaillant boiler, might work with Saunier-Duval too) using ebusd, cf. https://github.com/guillaumezin/DomoticzEbusd
deennoo
Posts: 784
Joined: Wednesday 10 December 2014 13:06
Target OS: Linux
Domoticz version: beta
Location: Bordeaux France
Contact:

Re: Python Plugin: ebusd

Post by deennoo »

Barberousse wrote:Hello,

I made a plugin for Domoticz to connect to ebus boilers (tested with a Vaillant boiler, might work with Saunier-Duval too) using ebusd, cf. https://github.com/guillaumezin/DomoticzEbusd
Thanks for this, any source for ebus to serial please ?

Any chance to get one ebus to gpio for rpi zéro w ?

So much question for you...does your plugin allow to act as a room thermostat ?
Domoticz stable 3.5877 for real & Domoticz beta for test
Rfxtrxe / RFLink / Milight / Yeelight / Tasmota / MQTT / BLE / Zigate
http://domo-attitude.fr
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: ebusd

Post by Barberousse »

Hello,

For supported hardware, see https://github.com/john30/ebusd/wiki/6.-Hardware

I think you can use the plugin to make a thermostat script using domoticz, maybe you will have to lower refresh time, and maybe I will add an option to prevent data caching, to speed-up temperature updates
deennoo
Posts: 784
Joined: Wednesday 10 December 2014 13:06
Target OS: Linux
Domoticz version: beta
Location: Bordeaux France
Contact:

Re: Python Plugin: ebusd

Post by deennoo »

Barberousse wrote:Hello,

For supported hardware, see https://github.com/john30/ebusd/wiki/6.-Hardware

I think you can use the plugin to make a thermostat script using domoticz, maybe you will have to lower refresh time, and maybe I will add an option to prevent data caching, to speed-up temperature updates
Ok thanks, Can you show use how many device will be created ?

Does we have acces to the external probe ?

Can you read temp of the internal room thermostat ?

Can you read heating pipe pressure ?

Depending of the boiler some of them allow to have gaz comsumtion. Have you test it?

Of course most of those informations aren't very useful.

But acting like a room thermostat is the major feature for me.

We Can imagine add à wemos and à ser2net server to get à wireless connection between boiler and Domoticz.
Domoticz stable 3.5877 for real & Domoticz beta for test
Rfxtrxe / RFLink / Milight / Yeelight / Tasmota / MQTT / BLE / Zigate
http://domo-attitude.fr
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: ebusd

Post by Barberousse »

I can read external probe and internal room thermostat for sure (f47:RoomTemp, broadcast:outsidetemp), pipe pressure can be read with bai:WaterPressure, for gaz consumption I'm not sure.

I have these registers:

Code: Select all

bai AccessoriesOne = no data stored
bai AccessoriesTwo = no data stored
bai ACRoomthermostat = no data stored
bai APCComStatus = no data stored
bai APCLegioProtection = no data stored
bai averageIgnitiontime = no data stored                                                                                                                                                                       
bai BlockTimeHcMax = no data stored                                                                                                                                                                            
bai BoilerType = no data stored                                                                                                                                                                                
bai ChangesDSN = no data stored                                                                                                                                                                                
bai CirPump = no data stored                                                                                                                                                                                   
bai CounterStartattempts1 = no data stored                                                                                                                                                                     
bai CounterStartattempts2 = no data stored
bai CounterStartAttempts3 = no data stored
bai CounterStartAttempts4 = no data stored
bai currenterror = no data stored
bai DateTime = no data stored
bai dcfState = no data stored
bai DCFTimeDate = no data stored
bai DCRoomthermostat = no data stored
bai DeactivationsIFC = no data stored
bai DeactivationsTemplimiter = no data stored
bai DeltaFlowReturnMax = no data stored
bai DisplayMode = no data stored
bai DSN = no data stored
bai DSNOffset = no data stored
bai DSNStart = no data stored
bai EBusHeatcontrol = no data stored
bai EbusSourceOn = no data stored
bai EbusVoltage = no data stored
bai errorhistory = no data stored
bai expertlevel_ReturnTemp = no data stored
bai ExternalFaultmessage = no data stored
bai externalFlowTempDesired = no data stored
bai externalHwcSwitch = no data stored
bai ExternGasvalve = no data stored
bai ExtFlowTempDesiredMin = no data stored
bai ExtStorageModulCon = no data stored
bai extWP = no data stored
bai FanHours = no data stored
bai FanMaxSpeedOperation = no data stored
bai FanMinSpeedOperation = no data stored
bai FanPWMSum = no data stored
bai FanPWMTest = no data stored
bai FanSpeed = no data stored
bai FanSpeedOffsetMax = no data stored
bai FanSpeedOffsetMin = no data stored
bai FanStarts = no data stored
bai Flame = no data stored
bai FlameSensingASIC = no data stored
bai FloorHeatingContact = no data stored
bai FlowsetHcMax = no data stored
bai FlowsetHwcMax = no data stored
bai FlowSetPotmeter = no data stored
bai FlowTemp = 43.12;ok
bai FlowTempDesired = 51.50
bai FlowTempMax = no data stored
bai Fluegasvalve = no data stored
bai FluegasvalveOpen = no data stored
bai Gasvalve3UC = no data stored
bai Gasvalve = no data stored
bai GasvalveASICFeedback = no data stored
bai GasvalveUC = no data stored
bai GasvalveUCFeedback = no data stored
bai HcHours = no data stored
bai HcPumpMode = no data stored
bai HcPumpStarts = no data stored
bai HcStarts = no data stored
bai HcUnderHundredStarts = no data stored
bai HeatingSwitch = no data stored
bai HoursTillService = no data stored
bai HwcDemand = no data stored
bai HwcHours = no data stored
bai HwcImpellorSwitch = no data stored
bai HwcPostrunTime = no data stored
bai HwcSetPotmeter = no data stored
bai HwcStarts = no data stored
bai HwcSwitch = no data stored
bai HwcTemp = no data stored
bai HwcTempDesired = no data stored
bai HwcTempMax = no data stored
bai HwcTypes = no data stored
bai HwcUnderHundredStarts = no data stored
bai HwcWaterflow = no data stored
bai HwcWaterflowMax = no data stored
bai Ignitor = no data stored
bai InitialisationEEPROM = no data stored
bai IonisationVoltageLevel = no data stored
bai maintenancedata_HwcTempMax = no data stored
bai maxIgnitiontime = no data stored
bai minIgnitiontime = no data stored
bai ModulationTempDesired = no data stored
bai OutdoorstempSensor = no data stored
bai OverflowCounter = no data stored
bai ParamToken = no data stored
bai PartloadHcKW = no data stored
bai PartloadHwcKW = no data stored
bai PartnumberBox = no data stored
bai PositionValveSet = no data stored
bai PowerValue = no data stored
bai PrAPSCounter = no data stored
bai PrAPSSum = no data stored
bai PrEnergyCountHc1 = no data stored
bai PrEnergyCountHc2 = no data stored
bai PrEnergyCountHc3 = no data stored
bai PrEnergyCountHwc1 = no data stored
bai PrEnergyCountHwc2 = no data stored
bai PrEnergyCountHwc3 = no data stored
bai PrEnergySumHc1 = no data stored
bai PrEnergySumHc2 = no data stored
bai PrEnergySumHc3 = no data stored
bai PrEnergySumHwc1 = no data stored
bai PrEnergySumHwc2 = no data stored
bai PrEnergySumHwc3 = no data stored
bai ProductionByte = no data stored
bai PrVortexFlowSensorValue = no data stored
bai PumpHours = no data stored
bai PumpHwcFlowNumber = no data stored
bai PumpHwcFlowSum = no data stored
bai RemainingBoilerblocktime = no data stored
bai ReturnRegulation = no data stored
bai ReturnTemp = 42.31;64858;ok
bai ReturnTempMax = no data stored
bai SecondPumpMode = no data stored
bai SerialNumber = no data stored
bai SetFactoryValues = no data stored
bai SetMode = auto;51.5;55.0;-;0;0;0;0;0;0
bai SHEMaxDeltaHwcFlow = no data stored
bai SHEMaxFlowTemp = no data stored
bai SolPostHeat = no data stored
bai Statenumber = no data stored
bai Status01 = 38.0;33.0;-;53.0;52.5;on
bai Status02 = auto;60;75.0;100;65.0
bai Status16 = no data stored
bai Status = no data stored
bai Storageloadpump = no data stored
bai StorageLoadPumpHours = no data stored
bai StorageloadPumpStarts = no data stored
bai StorageLoadTimeMax = no data stored
bai StoragereleaseClock = no data stored
bai StorageTemp = 38.50;ok
bai StorageTempDesired = 55.00
bai StorageTempMax = no data stored
bai TargetFanSpeed = no data stored
bai TargetFanSpeedOutput = no data stored
bai TempDiffBlock = no data stored
bai TempDiffFailure = no data stored
bai TempGradientFailure = no data stored
bai Templimiter = no data stored
bai TemplimiterWithNTC = no data stored
bai TempMaxDiffExtTFT = no data stored
bai Testbyte = no data stored
bai TimerInputHc = no data stored
bai ValveMode = no data stored
bai ValveStarts = no data stored
bai VolatileLockout = no data stored
bai VolatileLockoutIFCGV = no data stored
bai VortexFlowSensor = no data stored
bai WarmstartDemand = no data stored
bai WarmstartOffset = no data stored
bai WaterHcFlowMax = no data stored
bai WaterPressure = no data stored
bai WaterpressureBranchControlOff = no data stored
bai WaterpressureMeasureCounter = no data stored
bai WaterpressureVariantSum = no data stored
bai WP = no data stored
bai WPPostrunTime = no data stored
bai WPSecondStage = no data stored
broadcast datetime = no data stored
broadcast error = no data stored
broadcast hwcStatus = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast load = no data stored
broadcast netloss = no data stored
broadcast netresetcfg = no data stored
broadcast netresetstate = no data stored
broadcast outsidetemp = 5.000
broadcast signoflife = no data stored
broadcast vdatetime = 16:28:52;09.12.2017
f47 ACTOstorDetected = no data stored
f47 actoSTOROPMode = no data stored
f47 ActualRoomTempDesiredHc1 = no data stored
f47 ActualWeekday = no data stored
f47 ADCValueTempabove = no data stored
f47 ADCValueTempbelow = no data stored
f47 ASCDetected = no data stored
f47 B51000M10HwcFlowSetMon = no data stored
f47 B51000M12DisableBitsMon = no data stored
f47 B51000M14Monitor = no data stored
f47 B51000M7OpModeMonitor = no data stored
f47 B51000M8HeatFlowSetMonitor = no data stored
f47 B51000M9TappingSetMon = no data stored
f47 B51000TempDesiredLoadingPump = no data stored
f47 BMUB51101BoilerFlowTemp = no data stored
f47 BMUB51101ErrorStatus = no data stored
f47 BMUB51101HwcState = no data stored
f47 BMUB51101StorageTemp = no data stored
f47 BMUFlowTempOrVF1 = no data stored
f47 CalculatedKickStopTime = no data stored
f47 ccTimer.Friday = no data stored
f47 ccTimer.Monday = no data stored
f47 ccTimer.Saturday = no data stored
f47 ccTimer.Sunday = no data stored
f47 ccTimer.Thursday = no data stored
f47 ccTimer.Tuesday = no data stored
f47 ccTimer.Wednesday = no data stored
f47 ChimneySweepModeActive = no data stored
f47 CirPump = no data stored
f47 ClockSwitchSummerWinterDone = no data stored
f47 ContactName = no data stored
f47 ContinuosHeating = no data stored
f47 CountryVariant = no data stored
f47 CPLPLast24started = no data stored
f47 currenterror = no data stored
f47 Date = no data stored
f47 DcfIsValid = no data stored
f47 DisplayedHc1RoomTempDesired = no data stored
f47 DisplayedHwcStorageTemp = no data stored
f47 DisplayedRoomTemp = no data stored
f47 EepromUpdateActive = no data stored
f47 EnermanState = no data stored
f47 errorhistory = no data stored
f47 ExcessTemp = no data stored
f47 FactoryTestActive = no data stored
f47 FrostOverRideTime = no data stored
f47 FrostProtectDelayMonitor = no data stored
f47 FrostProtectionRequiredMonitor = no data stored
f47 FrostProtectStateMonitor = no data stored
f47 GlobalSystemOff = no data stored
f47 Hc1ActualFlowTempDesired = no data stored
f47 Hc1AutoOffMode = no data stored
f47 Hc1BankHolidayEndPeriod = no data stored
f47 Hc1BankHolidayStartPeriod = no data stored
f47 Hc1DayTemp = 18.5
f47 Hc1FloorPavementDryingDay = no data stored
f47 Hc1FloorPavementDryingTemp = no data stored
f47 Hc1HcType = no data stored
f47 Hc1HeatCurve = no data stored
f47 Hc1HolidayEndPeriod = no data stored
f47 Hc1HolidayRoomTemp = no data stored
f47 Hc1HolidayStartPeriod = no data stored
f47 Hc1MinimalFlowTempDesired = no data stored
f47 Hc1NightTemp = no data stored
f47 Hc1OPMode = auto
f47 Hc1PreCutOffActive = no data stored
f47 Hc1PreOrContinuosHeatingActive = no data stored
f47 Hc1Pump = no data stored
f47 Hc1PumpLast24started = no data stored
f47 Hc1QuickVetoTemp = no data stored
f47 Hc1RoomTempSwitchOn = no data stored
f47 Hc1SFMode = none
f47 Hc1SummerOffset = no data stored
f47 Hc2BankHolidayEndPeriod = no data stored
f47 Hc2BankHolidayPeriodIsActive = no data stored
f47 Hc2BankHolidayStartPeriod = no data stored
f47 Hc2HcType = no data stored
f47 Hc2HolidayEndPeriod = no data stored
f47 Hc2HolidayPeriodIsActive = no data stored
f47 Hc2HolidayStartPeriod = no data stored
f47 Hc2OPMode = no data stored
f47 Hc2SFMode = no data stored
f47 Hc2TempDesiredB50418 = no data stored
f47 HcMc1ConfigCPLP = no data stored
f47 HcMc1CPLPState = no data stored
f47 HcMc1Detected = no data stored
f47 HcName1 = no data stored
f47 HcName2 = no data stored
f47 hcTimer.Friday = no data stored
f47 hcTimer.Monday = no data stored
f47 hcTimer.Saturday = no data stored
f47 hcTimer.Sunday = no data stored
f47 hcTimer.Thursday = no data stored
f47 hcTimer.Tuesday = no data stored
f47 hcTimer.Wednesday = no data stored
f47 HwcActualTempDesired = no data stored
f47 HwcCircuitActive = no data stored
f47 HwcLegioStartDay = no data stored
f47 HwcLegioStartTime = no data stored
f47 HwcLoadingIn430Active = no data stored
f47 HwcLoadingOffset = no data stored
f47 HwcOPMode = no data stored
f47 HwcParallelLoading = no data stored
f47 HwcPressLowpostrunningtime = no data stored
f47 HwcTempDesired = no data stored
f47 hwcTimer.Friday = no data stored
f47 hwcTimer.Monday = no data stored
f47 hwcTimer.Saturday = no data stored
f47 hwcTimer.Sunday = no data stored
f47 hwcTimer.Thursday = no data stored
f47 hwcTimer.Tuesday = no data stored
f47 hwcTimer.Wednesday = no data stored
f47 HydraulicMap = no data stored
f47 HydraulicSwitch = no data stored
f47 InstallAssistant = no data stored
f47 KeyCodeforConfigMenu = no data stored
f47 LanguageVariant = no data stored
f47 LcdContrastValue = no data stored
f47 LegioProtectActive = no data stored
f47 MaintenanceDate = no data stored
f47 MonitorCurrentIPart = no data stored
f47 MonitorEEpromInkonsiNumber = no data stored
f47 OpModeEffect = no data stored
f47 OutsideTemp = 9.81;ok
f47 OutsideTempOffset = no data stored
f47 PhoneNumber = no data stored
f47 PreheatingTime = no data stored
f47 PreStopTime = no data stored
f47 PumpBlockingTimeMax = no data stored
f47 PumpEnergySaveCalculatedTimeMonitor = no data stored
f47 PumpEnergySaveStateMonitor = no data stored
f47 RaumtempIstOben = no data stored
f47 RaumtempIstUnten = no data stored
f47 RoomTemp = 18.56;ok
f47 RoomTempCorrection = no data stored
f47 RoomTempOffsetSelfWarming = no data stored
f47 SolModuleDetected = no data stored
f47 StartEepromUpdate = no data stored
f47 StatusDcf = no data stored
f47 SummerWinterTimeAdjust = no data stored
f47 TestVarActivateFunction = no data stored
f47 Time = no data stored
f47 V430PluggedIn = no data stored
f47 VF1 = no data stored
f47 VR81ActiveForHc1 = no data stored
f47 VR81ActiveForHc2 = no data stored
f47 VR81Detected = no data stored
f47 YieldLastYear = no data stored
f47 YieldThisYear = 0;0;0;0;0;0;0;0;0;0;0;0
general valuerange = no data stored
mc ActualTempDesired = no data stored
mc AutoOffMode = no data stored
mc BoilerCircuitPump = no data stored
mc BoilerMaxPreShutdown = no data stored
mc CirPump = no data stored
mc currenterror = -;-;-;-;-
mc Date = no data stored
mc DayNightState = no data stored
mc DisplayedRoomTempDesired = no data stored
mc errorhistory = no data stored
mc FloorPavingDryingDay = no data stored
mc FloorPavingDryingTemp = no data stored
mc Flow1Sensor = 25.38;ok
mc FlowTempDesired = 26.0
mc FlowTempMax = no data stored
mc FlowTempMin = no data stored
mc FrostProtConfig = no data stored
mc FrostProtectDelay = no data stored
mc FrostProtState = no data stored
mc Hc1PumpKol1PP1Port = no data stored
mc Hc2aLegPumpP2Port = no data stored
mc Hc2CircuitType = no data stored
mc Hc2ContinuosHeating = no data stored
mc Hc2ManualOPRoomTempDesired = no data stored
mc Hc2pDemand = no data stored
mc Hc2PumpAlPort = no data stored
mc Hc2QuickVetoActive = no data stored
mc Hc2QuickVetoTemp = no data stored
mc Hc2RoomControlMode = no data stored
mc Hc2SummerOffset = no data stored
mc Hc2zPort = no data stored
mc HcFlowIncrease = no data stored
mc HcParallelStorageFillingEnabled = no data stored
mc HcPreHeatingActive = no data stored
mc HcPreShutdownActive = no data stored
mc HcPumpIdlePeriod = no data stored
mc HcPumpIdlePeriodActive = no data stored
mc hcTimer.Friday = no data stored
mc hcTimer.Monday = no data stored
mc hcTimer.Saturday = no data stored
mc hcTimer.Sunday = no data stored
mc hcTimer.Thursday = no data stored
mc hcTimer.Tuesday = no data stored
mc hcTimer.Wednesday = no data stored
mc HeatingCurve = no data stored
mc HolidayTempDesired = no data stored
mc InternalOperatingMode470 = auto
mc IsInBankHoliday = no data stored
mc IsInHoliday = no data stored
mc IsInImpactVentilation = no data stored
mc IsInOneDayBankHoliday = no data stored
mc IsInOneDayHoliday = no data stored
mc IsInParty = no data stored
mc IsInSystemOff = no data stored
mc Mixer1DutyCycle = no data stored
mc Mixer1State = no data stored
mc MonitorEEpromInkonsiNumber = no data stored
mc OffConfig = no data stored
mc PreheatingMinutesMax = no data stored
mc PsTempDesired = no data stored
mc PumpSavingState = no data stored
mc Setpoints.Friday = no data stored
mc Setpoints.Monday = 18.5;18.5;18.5
mc Setpoints.Saturday = no data stored
mc Setpoints.Sunday = no data stored
mc Setpoints.Thursday = no data stored
mc Setpoints.Tuesday = no data stored
mc Setpoints.Wednesday = no data stored
mc SfState = no data stored
mc SunMoonInfo = no data stored
mc TempDesiredLow = no data stored
mc ThermostatState = no data stored
mc Time = no data stored
mc Weekday = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan id = no data stored
scan.08  = Vaillant;BAI00;0609;5502
scan.08 id = 21;16;38;0020221905;0001;005608;N2
scan.15  = Vaillant;F4700;0114;6102
scan.15 id = 21;16;31;0020108135;0082;008704;N0
scan.50  = Vaillant;V6100;0418;1902
scan.50 id = 21;16;05;0020139850;0082;005136;N0
scan.f6  = Vaillant;F4700;0114;6102
scan.f6 id = 21;16;31;0020108135;0082;008704;N0
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

Hi,
I'm working at same plugin, have found your plugin here... funny :)
(But I'm not ready just now...)

Was looking at your plugin - got following issue:
If you will disable the plugin Domoticz seems to hang - it does not react more.

looking in log you will get such lines:

Code: Select all

2017-12-22 16:16:26.797  (ebus test3) Stop directive received.
2017-12-22 16:16:26.826  (ebus test3) Disconnect directive received for '127.0.0.1:5000'.
2017-12-22 16:16:27.088  (ebus test3) Exiting work loop.
2017-12-22 16:16:31.801  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
2017-12-22 16:16:36.805  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
2017-12-22 16:16:41.809  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
2017-12-22 16:16:46.813  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
....
(Port 5000 is working for telnet)

After some time the plugin system restart.

Any idea?

Can you add your JSON result for reference?
With my JSON I do not get any values in your plugin - devices will be added, but all temperature values "0.0"

Maybe there is something speciial in your config (or my config :) ) Attached my json result.
Attachments
ebusd.txt
vaillant ebus json
(100.5 KiB) Downloaded 220 times
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: ebusd

Post by Barberousse »

micha_pr wrote: Friday 22 December 2017 16:36 looking in log you will get such lines:

Code: Select all

2017-12-22 16:16:26.797  (ebus test3) Stop directive received.
2017-12-22 16:16:26.826  (ebus test3) Disconnect directive received for '127.0.0.1:5000'.
2017-12-22 16:16:27.088  (ebus test3) Exiting work loop.
2017-12-22 16:16:31.801  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
2017-12-22 16:16:36.805  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
2017-12-22 16:16:41.809  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
2017-12-22 16:16:46.813  Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
....
(Port 5000 is working for telnet)

After some time the plugin system restart.

Any idea?
None, I will have to dig a bit
micha_pr wrote: Friday 22 December 2017 16:36 Can you add your JSON result for reference?
With my JSON I do not get any values in your plugin - devices will be added, but all temperature values "0.0"

Maybe there is something speciial in your config (or my config :) ) Attached my json result.
I will post my json data during week-end, but for the record, my plugin uses telnet to read and write data, and json to discover messages and data types only.
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

Barberousse wrote: Friday 22 December 2017 16:56 None, I will have to dig a bit
Forget about it - my mistake. I have changed the port before and forgot about this change.
If telnet port is wrong - will be the connection timeout...

Just after posting remembered about this :-D
I get now values.
Looks nice the plugin - maybe I will close my work at my own plugin and take your ;)

Thanks!
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

I have no idea... domoticz crash with the plugin.
Already going back to release - but still crash.

Code: Select all

2017-12-23 10:50:39.246  (eBus-full) Initialized version 1.0.8, author 'Barberousse'
2017-12-23 10:50:39.250  (eBus-full) onStart called
2017-12-23 10:50:39.252  (eBus-full) IP or named address set to 127.0.0.1
2017-12-23 10:50:39.253  (eBus-full) Telnet port set to 8888
2017-12-23 10:50:39.255  (eBus-full) JSON  HTTP port set to 8889
2017-12-23 10:50:39.255  (eBus-full) Registers set to 470:BMUB51101BoilerFlowTemp 470:BMUB51101StorageTemp 470:BMUFlowTempOrVF1 470:CirPump 470:DisplayedHc1RoomTempDesired 470:DisplayedHwcStorageTemp 470:DisplayeickVetoTemp 470:OutsideTemp 470:RoomTemp
2017-12-23 10:50:39.256  (eBus-full) Refresh rate set to 120
2017-12-23 10:50:39.256  (eBus-full) Read-only set to False
2017-12-23 10:50:39.256  (eBus-full) Debug set to Normal
2017-12-23 10:50:39.257  PluginSystem: Starting I/O service thread.
2017-12-23 10:50:39.308  Error: (eBus-full) failed to parse parameters, Message or Message,Verb,URL,Headers,Delay expected.
2017-12-23 10:50:39.309  Error: (eBus-full) 'CConnection_send' failed 'TypeError':''dict' does not support the buffer interface'.
2017-12-23 10:50:39.309  Error: Domoticz received fatal signal 11 !...
2017-12-23 10:50:39.313  Error:   /home/pi/domoticz/domoticz() [0x1cdc48]
2017-12-23 10:50:39.314  Error:   /home/pi/domoticz/domoticz(_Z14signal_handleri+0x58) [0x1cdd00]
2017-12-23 10:50:39.314  Error:   /lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer_v2+0) [0x76aed180]
2017-12-23 10:50:39.314  Error:   /home/pi/domoticz/domoticz(_ZN7Plugins16CConnection_sendEPNS_11CConnectionEP7_objectS3_+0xd8) [0x4ab0dc]
Have already enabbled/disabled debug - no changes.

Got also (with one sensor only and other address) message:

Code: Select all

2017-12-23 11:16:23.481  RxQueue: queue worker started...
2017-12-23 11:16:25.484  Hardware Monitor: Started
2017-12-23 11:16:29.675  EventSystem: reset all events...
2017-12-23 11:16:29.676  EventSystem: reset all device statuses...
2017-12-23 11:16:29.681  PluginSystem: Entering work loop.
2017-12-23 11:16:29.685  OpenZWave: using config in: /home/pi/domoticz/Config/
2017-12-23 11:16:29.690  OpenZWave: Starting...
2017-12-23 11:16:29.690  OpenZWave: Version: 1.4-2501-g5af6780-dirty
2017-12-23 11:16:29.868  (eBus-1) Initialized version 1.0.8, author 'Barberousse'
2017-12-23 11:16:32.870  OpenZWave: Driver Ready
2017-12-23 11:16:32.877  Error: Domoticz received fatal signal 11 !...
2017-12-23 11:16:32.877  (eBus-1) onStart called
2017-12-23 11:16:32.878  (eBus-1) IP or named address set to 192.168.178.95
2017-12-23 11:16:32.878  (eBus-1) Telnet port set to 8888
2017-12-23 11:16:32.878  (eBus-1) JSON  HTTP port set to 8889
2017-12-23 11:16:32.878  (eBus-1) Registers set to 470:BMUB51101BoilerFlowTemp
2017-12-23 11:16:32.878  (eBus-1) Refresh rate set to 120
2017-12-23 11:16:32.878  (eBus-1) Read-only set to False
2017-12-23 11:16:32.878  (eBus-1) Debug set to Debug
2017-12-23 11:16:32.878  (eBus-1) Debug log level set to: 'true'.
2017-12-23 11:16:32.879  (eBus-1) findDevices create connection to 192.168.178.95:8889
2017-12-23 11:16:32.879  (eBus-1) Connect
2017-12-23 11:16:32.881  Error:   /home/pi/domoticz/domoticz() [0x1cdc48]
2017-12-23 11:16:32.882  Error:   /home/pi/domoticz/domoticz(_Z14signal_handleri+0x58) [0x1cdd00]
2017-12-23 11:16:32.884  Error:   /lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer_v2+0) [0x76a5b180]

URL in browser is working fine - local http/telnet requests are working too...

I know that there is an open actual issue with python plugin (fatal signal 11) - that's why use now the release version 3.8153 - but here is the same (about)

What version you are using - any idea about this issues?

Thanks!
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: ebusd

Post by Barberousse »

micha_pr wrote: Saturday 23 December 2017 11:10 What version you are using - any idea about this issues?
I have version V3.8790. You will have to wait a few days before I dig into your troubles. Can you try to increase refresh rate, to 600 for instance?
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

Barberousse wrote: Saturday 23 December 2017 12:53 I have version V3.8790. You will have to wait a few days before I dig into your troubles. Can you try to increase refresh rate, to 600 for instance?
Sure,.. it is not easy to find it out. Are you using Raspberry Pi3 and Jessie?
Would be interestng to find out the difference between the systems - and why you do not have the plugin issue
https://github.com/domoticz/domoticz/issues/1891

Thanks!
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
User avatar
Dnpwwo
Posts: 819
Joined: Sunday 23 March 2014 9:00
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Melbourne, Australia
Contact:

Re: Python Plugin: ebusd

Post by Dnpwwo »

Next beta will have a fix for this:

Code: Select all

Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
and should not segfault on plugin stop or restart.

Domoticz now safely forces the shutdown and you will see something like:

Code: Select all

2017-12-24 16:51:05.386 (Тест) Stop directive received.
2017-12-24 16:51:05.399 (Тест) Device has disconnected
2017-12-24 16:51:05.858 (Тест) Exiting work loop.
2017-12-24 16:51:10.432 Error: (Тест) Plugin did not stop after 5 seconds, flushing event queue...
2017-12-24 16:51:10.433 Error: (Тест) Callback event 'StopMessage' (Python call 'onStop') discarded.
2017-12-24 16:51:10.434 (Тест) Stopping threads.
2017-12-24 16:51:10.435 (Тест) Stopped.
if you do see something like that can you post the onDisconnect and onStop code.
The reasonable man adapts himself to the world; the unreasonable one persists to adapt the world to himself. Therefore all progress depends on the unreasonable man. George Bernard Shaw
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

Dnpwwo wrote: Sunday 24 December 2017 8:41 Next beta will have a fix for this:

Code: Select all

Error: (ebus test3) Plugin did not stop after 5 seconds, waiting.
and should not segfault on plugin stop or restart.
Hi,
this will not fix the other issue. the "not stop after 5 seconds" was caused by the wrong telnet port, as described above ;)

After restarting Domoticz with right port I have got only the other errors.

Replace the "Domoticz.Connection" with "urllib.request.urlopen(myurl)" (in other very simple plugin) this error (crash) didn't occur.
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: ebusd

Post by Barberousse »

micha_pr wrote: Saturday 23 December 2017 19:49 Sure,.. it is not easy to find it out. Are you using Raspberry Pi3 and Jessie?
Good guess, with Python 3.5.3, what is your platform?
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

interesting... maybe this could solve it? But you are om Pi with Jessie?

my: "PluginSystem: Started, Python version '3.4.2'."
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: ebusd

Post by Barberousse »

micha_pr wrote: Sunday 24 December 2017 11:38 interesting... maybe this could solve it? But you are om Pi with Jessie?

my: "PluginSystem: Started, Python version '3.4.2'."
Oh sorry, I'm on stretch now, I forgot I did a migration

Code: Select all

cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

ok, ... in the meantime I have seen that the error also depends on the number of elements (registers).
I have tred up to 5 registers - more or less stable.
With 15 registers - it will crash very fast.

Can you try to include most of your sensors from your JSON file?

Thanks!
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
Barberousse
Posts: 139
Joined: Wednesday 02 December 2015 21:47
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: ebusd

Post by Barberousse »

micha_pr wrote: Sunday 24 December 2017 20:41With 15 registers - it will crash very fast.
I have 13 registers since a long time and it is rock solid stable. Did you try to change the refresh rate? Is "Disable cache" to "True" or "False"?
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

Yes, I tried with refresh rate 300 - this is not the problem, because the Pi is in a loop between the calls.
Also the error come up after / while first call.
even tried with/without debug/cache...

But I made today a second image with Stretch and new Python version - now all is stable since more than one hour (with 15 registers).
Using latest Beta 3.8796.

Will tell you later tehn ;)

Have nice Christmas days - and thanks!
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
micha_pr
Posts: 82
Joined: Friday 24 October 2014 12:26
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Germany, near Berlin
Contact:

Re: Python Plugin: ebusd

Post by micha_pr »

hi,

you have changed the onCommand procedure?

I get now errors:

Code: Select all

2017-12-25 16:56:22.594  (eBus-t-all) Calling message handler 'onCommand'.
2017-12-25 16:56:22.594  Error: (eBus-t-all) 'onCommand' failed 'TypeError':'argument of type 'int' is not iterable'.
2017-12-25 16:56:22.595  Error: (eBus-t-all) ----> Line 698 in /home/pi/domoticz/plugins/DomoticzEbusd/plugin.py, function onCommand
2017-12-25 16:56:22.595  Error: (eBus-t-all) ----> Line 522 in /home/pi/domoticz/plugins/DomoticzEbusd/plugin.py, function onCommand
If I will change the SetPoint - I will get this error.

Thanks!
Michael Pruefer
----------------------------
http://www.zwave-review.com (German only)
http://www.SmartHome.Work (German only)
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest