Git Product home page Git Product logo

ebusd's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ebusd's Issues

remove compiler warnings

gcc version 4.9.2 (Raspbian 4.9.2-10)
make[2]: Entering directory '/home/pi/ebusd/src/ebusd'
  CXX      bushandler.o
In file included from bushandler.cpp:19:0:
bushandler.h: In constructor ‘BusHandler::BusHandler(Device*, MessageMap*, unsigned char, bool, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool, unsigned int)’:
bushandler.h:571:7: warning: ‘BusHandler::m_addressConflict’ will be initialized after [-Wreorder]
  bool m_addressConflict;
       ^
bushandler.h:568:13: warning:   ‘const bool BusHandler::m_answer’ [-Wreorder]
  const bool m_answer;
             ^
bushandler.h:359:2: warning:   when initialized here [-Wreorder]
  BusHandler(Device* device, MessageMap* messages,
  ^
...
  CXX      mainloop.o
In file included from mainloop.h:24:0,
                 from mainloop.cpp:19:
bushandler.h: In constructor ‘BusHandler::BusHandler(Device*, MessageMap*, unsigned char, bool, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool, unsigned int)’:
bushandler.h:571:7: warning: ‘BusHandler::m_addressConflict’ will be initialized after [-Wreorder]
  bool m_addressConflict;
       ^
bushandler.h:568:13: warning:   ‘const bool BusHandler::m_answer’ [-Wreorder]
  const bool m_answer;
             ^
bushandler.h:359:2: warning:   when initialized here [-Wreorder]
  BusHandler(Device* device, MessageMap* messages,
  ^
  CXX      main.o
In file included from mainloop.h:24:0,
                 from main.cpp:24:
bushandler.h: In constructor ‘BusHandler::BusHandler(Device*, MessageMap*, unsigned char, bool, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool, unsigned int)’:
bushandler.h:571:7: warning: ‘BusHandler::m_addressConflict’ will be initialized after [-Wreorder]
  bool m_addressConflict;
       ^
bushandler.h:568:13: warning:   ‘const bool BusHandler::m_answer’ [-Wreorder]
  const bool m_answer;
             ^
bushandler.h:359:2: warning:   when initialized here [-Wreorder]
  BusHandler(Device* device, MessageMap* messages,
  ^

add message broker support

support for publishing updates to a message broker via MQTT or AMQP would allow easy integration into lots of other systems including FHEM already supporting MQTT publish/subscribe

ebusd service don't start on jessie

hi, I'm using a new raspberry with jessie. I have copied from contrib /etc/init.d/ebusd.
I encounted the problem wih:
-ebusd 2.0 (git, make, make install)

  • ebusd 2.1 installed with deb
    when I start the ebusd service with "service ebusd start", ebusd process don't start (I verified with ps -A).
    when I launch "ebusd -f" works perfectly, without any other parameters.
    no /var/log/ebusd.log is written.

service ebusd status returns:
● ebusd.service - LSB: controls ebusd, the daemon for communication with eBUS heating systems.
Loaded: loaded (/etc/init.d/ebusd)
Active: active (exited) since sab 2016-04-30 23:09:37 CEST; 4 days ago

mag 05 14:02:56 vaillant systemd[1]: Started LSB: controls ebusd, the daemon for communication with eBUS heating systems..

with wheezy I have no problem

bus error CfgHeatSinkType failed

Dear,

I have 1 heatpump (Vaillant geotherm VWS 171/2), 2 floorheating circuits (mc2 and mc4), 1 radiator circuit (mc5), 1 Waterheating, 1 VR60 and 2 VR90 which I try to manage via a Raspberry Pi.

I recieve some errors and notifications in my ebusd.log (e.g. "CfgHeatSinkType failed" or "unknown MS cmd: 7050b5040132 / 0a002c06030301a0020100") and have a lot of "no stored data" in the output of the "ebsctl find" command. I attached 2 files: 1 with the output of several commands and 1 showing a small part the raw log.

I would be gratefull if someone could indicate where these errors come from and what to do to solve it.

Thanks in advance and best regards,

Peter

Raw log.txt
scan.txt

invalid config files

Hi, I am using the latest armhf package (2.4) on a raspbian pi (rasbian jessy). Unfortunately, I am not able to read the config files. I already tried the latest git version but also without any luck. I always get several errors. Any recommendations?

The output of the ebusd-2.x.x/de/vaillant/08.ehp.csv:

`2017-01-23 20:27:08.298 [main notice] ebusd 2.4.79708d2 performing configuration check...
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 13 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW=350-400],scan,,,SW,,350-400,,,,,,,,,,
                       ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 14 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW>=403],scan,,,SW,,>=403,,,,,,,,,,
                    ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 15 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW>=414],scan,,,SW,,>=414,,,,,,,,,,
                    ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 16 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW>=415],scan,,,SW,,>=415,,,,,,,,,,
                    ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 17 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW>=400],scan,,,SW,,>=400,,,,,,,,,,
                    ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 18 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW>=370],scan,,,SW,,>=370,,,,,,,,,,
                    ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 19 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW>=350],scan,,,SW,,>=350,,,,,,,,,,
                    ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 20 field 6 value "": ERR: invalid address
Erroneous item is here:
[SW>=407],scan,,,SW,,>=407,,,,,,,,,,
                    ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 22 field 14 value "Number of commutations of": ERR: element not found
Erroneous item is here:
r,,CompStartsHwc,Compressor_Commutations_DHW,,,,A800,,,cntstarts,,,Number of commutations of,,,
                                                                   ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 23 field 14 value "Number of commutations of": ERR: element not found
Erroneous item is here:
r,,CompStartsHc,Compressor_Commutations_CH,,,,A900,,,cntstarts,,,Number of commutations of,,,
                                                                 ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 24 field 14 value "Number of commutations of": ERR: element not found
Erroneous item is here:
r,,SourceStarts,Brine_Fan_Commutations,,,,AC00,,,cntstarts,,,Number of commutations of,,,
                                                             ^
invalid condition
Error reading "/etc/ebusd/heizung.csv" line 25 field 14 value "Number of commutations of": ERR: element not found
Erroneous item is here:
r,,Hc1PumpStarts,CH1_P_Commutations,,,,AD00,,,cntstarts,,,Number of commutations of,,,
                                                          ^
invalid condition`

The output of the _template.csv:

ebusd --checkconfig
2017-01-23 20:32:27.298 [main notice] ebusd 2.4.79708d2 performing configuration check...
Error reading "/etc/ebusd/heizung.csv" line 2 field 3 value "": ERR: invalid argument
Erroneous item is here:
cntstarts,BCD:3,,,Anlaufzähler
                ^
Error reading "/etc/ebusd/heizung.csv" line 3 field 3 value "": ERR: invalid argument
Erroneous item is here:
cntminutes,BCD,,min,Betriebsminuten
               ^
Error reading "/etc/ebusd/heizung.csv" line 4 field 3 value "": ERR: invalid argument
Erroneous item is here:
cnthours,BCD:3,,h,Betriebsstunden
               ^
Error reading "/etc/ebusd/heizung.csv" line 5 field 3 value "": ERR: invalid argument
Erroneous item is here:
cntfuel,BCD:4,,,Brennstoffmenge
              ^
Error reading "/etc/ebusd/heizung.csv" line 6 field 5 value "Einheit": ERR: end of input reached
Erroneous item is here:
unit,UCH,0=all;1=l;2=m³,,Einheit
                          ^
Error reading "/etc/ebusd/heizung.csv" line 7 field 5 value "Brennstoffart": ERR: end of input reached
Erroneous item is here:
fueltype,UCH,0=any;1=oil;2=gas,,Brennstoffart
                                ^
Error reading "/etc/ebusd/heizung.csv" line 8 field 5 value "Zählerart": ERR: end of input reached
Erroneous item is here:
countertype,UCH,0=starts;1=hours1;2=hours2;3=hours3;4=hours4;5=modulating;16=fuelquantity,,Zählerart
                                                                                           ^
Error reading "/etc/ebusd/heizung.csv" line 9 field 5 value "zyklische Übertragung": ERR: end of input reached
Erroneous item is here:
opdatacyclic,UCH,0x55=stop;0xaa=start,,zyklische Übertragung

Build fails on Arch for RPI1

I'm trying to compile for on my RPI1:
Linux ebus 4.4.10-1-ARCH #1 Fri May 13 18:56:03 MDT 2016 armv6l GNU/Linux

The build fails with the following errors (lots and lots of similar output before)

data.cpp:1632:49: note: ‘std::basic_istream’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
else if (getline(input, token, separator) == 0)
^
In file included from /usr/include/c++/6.1.1/bits/locale_conv.h:41:0,
from /usr/include/c++/6.1.1/locale:43,
from /usr/include/c++/6.1.1/iomanip:43,
from data.cpp:26:
/usr/include/c++/6.1.1/bits/unique_ptr.h:652:5: note: candidate: template<class _Tp, class _Dp> bool std::operator==(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)
operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
^~~~~~~~
/usr/include/c++/6.1.1/bits/unique_ptr.h:652:5: note: template argument deduction/substitution failed:
data.cpp:1632:49: note: ‘std::basic_istream’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
else if (getline(input, token, separator) == 0)
^
In file included from /usr/include/c++/6.1.1/bits/locale_conv.h:41:0,
from /usr/include/c++/6.1.1/locale:43,
from /usr/include/c++/6.1.1/iomanip:43,
from data.cpp:26:
/usr/include/c++/6.1.1/bits/unique_ptr.h:657:5: note: candidate: template<class _Tp, class _Dp> bool std::operator==(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)
operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
^~~~~~~~
/usr/include/c++/6.1.1/bits/unique_ptr.h:657:5: note: template argument deduction/substitution failed:
data.cpp:1632:49: note: mismatched types ‘const std::unique_ptr<_Tp, _Dp>’ and ‘int’
else if (getline(input, token, separator) == 0)
^
Makefile:349: recipe for target 'data.o' failed
make[2]: *** [data.o] Error 1
make[2]: Leaving directory '/home/flo/ebusd-2.1/contrib/archlinux/src/ebusd-2.1/src/lib/ebus'
Makefile:372: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/flo/ebusd-2.1/contrib/archlinux/src/ebusd-2.1'
Makefile:313: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

OSX

Would be nice if at least ebusctl could run on OSX. To compile you'd need:

brew install automake autoconf argp-standalone 

Might be nice to add this to the readme?

Switching bus address dynamically

Hi. I'm looking for a way to change the bus address that ebusd uses on the bus at runtime, but afaic the only way to do it, is at startup. The ebus controller I'm operating uses the base address of the sender (in this case ebusd) to identify the heating circuit. So, at the moment I'm able to operate a single heating circuit by using the "-a" option. To operate the other heating circuit, I have to quit ebusd and start it again using the other base address. This is a bit cumbersome to automate.

Would it be possible for example to add an (optional) parameter to the 'hex' command to select the base address to use? Like hex -a<address> 0123 or to prefix the command with the base address hex <address>0123 thanks!

support different log levels for each log area

i.e. "all error" along with "update notice"
I always search for a way to get message updates and all other errors, but to suppress "[main notice] hex cmd", which is currently not possible.

invalidate cached entries after writing

when writing a value to a circuit, immediately invalidate all cached values of corresponding read/listen messages of the same circuit (ignoring user level) and with the same name

[bug] 3.0-pre no longer loading bai.308523.inc fallback?

I've upgraded today to to current git for MQTT. Now the scan result seems to have changed:

previously:

$ ebusctl info
version: ebusd 2.3.a991a37
signal: acquired
symbol rate: 83
reconnects: 0
masters: 3
messages: 557
conditional: 3
poll: 0
update: 8
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0609;HW=5502", loaded "bai.308523.inc", "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0209;HW=4103", loaded "vaillant/15.700.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 52: slave, scanned "MF=Vaillant;ID=VR_70;SW=0109;HW=2903"

now:

$ ebusctl info
version: ebusd 3.0pre.8fafded
signal: acquired
symbol rate: 23
reconnects: 0
masters: 3
messages: 37
conditional: 0
poll: 0
update: 1
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0609;HW=5502", loaded "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0209;HW=4103"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 52: slave, scanned "MF=Vaillant;ID=VR_70;SW=0109;HW=2903"

It seems the bai.308523.inc is no longer being loaded and I'm confused as to why?

Convert float to int in case of UCH ?

While using several commands i saw that using int values on float-objects works fine.
On the other hand i got errors (invalid numeric arguments) by using floats like "2.0" or "3.0" on UCH-objects.

Is it possible to fix it ? This is more a feature-request than an issue.

best regards
Mirko

add field list to find command

e.g. "find -r -w -f [type][poll][circuit][comment]" to retrieve only the fields type, poll, circuit, comment (reported by amruna in fhem forum)

http interface problems

Hello,

I'd like to use the http interface.

What i did:

  • Activated the http port:
    • EBUSD_OPTS="--scanconfig --httpport=80"
  • Copied the contents from contrib/html to /var/ebusd/html

Sadly nothing works and the request stays open endlessly.

Did I miss something? How does it work?

Thanks, Christoph

Windows library

Hello,

do you think it would be possible to refactor your code as a library, and make it run under Windows ?
Because I'm trying to integrate my new vaillant (VC256) in my domotic system, which is currently running on a windows machine. I've dev background under windows so I could make an app once I've a dll I can use to communicate with the Vaillant, but my c++ knowledge are too much old to be any help....

Tx,
Fabrice

can't see all vaillant mixer circuits

Hi,

first of all thanks for the nice work with ebusd - it has helped me a lot in analyzing and tuning the heating system for our apartment building.

recently we have extended our vaillant vr630 system with another exansion unit vr60/3 to get 2 more mixer circuits.

i can the 2 mixer circuits on the vr630 and 2 on the first vr60/3 unit [mc,mc.3,mc.4,mc.5) but i can't see those on the 2nd expansion unit

remote control and mixer/pump are working perfectly receiving commands from the vr630 on the other end of the bus so the electronic connection on the ebus seems to be ok.

any hint for me what could be the problem? do i need to define more mixer circuits in the config files?

regards,
Roland

here's some debug output:

root@heizung:/etc/ebusd/vaillant# ebusctl scan result
15;Vaillant;UI ;0508;6201;21;15;40;0020080467;0907;009473;N5
23;Vaillant;VR630;0500;6301;21;15;40;0020092435;0907;008026;N0
25;Vaillant;VR630;0500;6301;21;15;40;0020092435;0907;008026;N0
26;Vaillant;VR630;0500;6301;21;15;40;0020092435;0907;008026;N0
44;Vaillant;VR630;0500;6301;21;15;40;0020092435;0907;008026;N0
50;Vaillant;VR630;0500;6301;21;15;40;0020092435;0907;008026;N0
51;Vaillant;VR630;0500;6301
52;Vaillant;MC2 ;0500;6301;21;15;49;306782<<<<;0907;010113;N3
53;Vaillant;MC2 ;0500;6301;21;15;49;306782<<<<;0907;010113;N3
54;Vaillant;MC2 ;0500;6301;21;16;22;306782<<<<;0907;005834;N2
55;Vaillant;MC2 ;0500;6301;21;16;22;306782<<<<;0907;005834;N2
75;Vaillant;RC C ;0508;6201;21;15;50;0020040079;0907;007741;N2
7c;Vaillant;RC C ;0508;6201;21;15;47;0020040079;0907;007046;N1
84;Vaillant;VR630;0500;6301;21;15;40;0020092435;0907;008026;N0
f5;Vaillant;RC C ;0508;6201;21;15;47;0020040079;0907;007068;N3

root@heizung:/etc/ebusd/vaillant# ebusctl f|grep mc |grep "Status ="
mc Status = 34;off;34.12;21
mc.3 Status = 31;off;31.75;21
mc.4 Status = 29;off;29.06;21
mc.5 Status = 0;off;-;0

from /var/log/ebusd.log
2016-10-30 06:31:29.329 [update notice] unknown MS cmd: 1051b505082b0f010000000080 / 00
2016-10-30 06:31:30.857 [update notice] update mc Mode QQ=70: 25;auto;05;off
2016-10-30 06:31:31.966 [update notice] update mc Status QQ=70: 0;off;19.31;15
2016-10-30 06:31:32.145 [update notice] unknown MS cmd: 7050b5040132 / 0a002a06030100e00e0100
2016-10-30 06:31:32.354 [update notice] update mc RoomTempOffset QQ=70: 0.00
2016-10-30 06:31:32.814 [update notice] unknown MS cmd: 7754b504010d / 050f0037010a
2016-10-30 06:31:32.996 [update notice] unknown MS cmd: 7754b5040132 / 0a002a06030100f00e0100
2016-10-30 06:31:33.149 [update notice] unknown MS cmd: 7754b505042d90ff00 / 00
2016-10-30 06:31:35.138 [update notice] unknown MM cmd: 103f050105aa22220d00
2016-10-30 06:31:35.214 [update notice] update mc.3 Status QQ=f0: 34;off;33.94;21
2016-10-30 06:31:35.396 [update notice] unknown MS cmd: f051b5040132 / 0a002a06030100e00e0100

FreeBSD

Hi, can you add FreeBSD support?

Refreshing data for mqtt or httpd json interface- use of polling?

I want to log some ~30 values of my bai- either each minute or when it changes. I've currently solved this by

  • using a cron job
  • and listening to logfile changes especially for the Status01 notifications

My code is in https://github.com/andig/vaillant.

I'm wondering what other/ better options there are. Using mqtt or /data/ I can get all currently received values from ebusd. Using mqtt (but not httpd) I can force updates using /get suffix.

Would the polling feature be suitable for my purpose/ could you explain how it works? I'm wondering if I could setup polling once and only use mqtt or json client to look for the updates?

Lost VR60 connection

Hi, I used ebusd from first version. in version 2.0 my INFO results was:
08;Vaillant;BAI00;0703;7401
15;Vaillant;UI ;0501;6201
1c;Vaillant;RC C ;0501;6201
23;Vaillant;SOLSY;0500;6301
25;Vaillant;SOLSY;0500;6301
26;Vaillant;SOLSY;0500;6301
35;Vaillant;RC C ;0501;6201
3c;Vaillant;RC C ;0507;6201
50;Vaillant;SOLSY;0500;6301
52;Vaillant;MC2 ;0500;6301
53;Vaillant;MC2 ;0500;6301

(note last 2 rows)

now after updating both ebusd and ebusd-configuration my INFO command returns:

version: ebusd 2.0.3b6f385
signal: acquired
symbol rate: 142
masters: 7
messages: 729
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0703;HW=7401", loaded "bai.308523.inc", "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=UI   ;SW=0501;HW=6201", loaded "vaillant/15.ui.csv"
address 17: master #17
address 1c: slave #17, scanned "MF=Vaillant;ID=RC C ;SW=0501;HW=6201", loaded "vaillant/1c.rcc.4.csv"
address 23: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/23.solsy.cc.csv"
address 25: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/25.solsy.hwc.csv"
address 26: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/26.solsy.hc.csv"
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Vaillant;ID=RC C ;SW=0501;HW=6201", loaded "vaillant/35.rcc.1.csv"
address 36: slave #8
address 37: master #18
address 3c: slave #18, scanned "MF=Vaillant;ID=RC C ;SW=0507;HW=6201", loaded "vaillant/3c.rcc.5.csv"
address 50: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/50.solsy.mc.csv"
address 70: master #4
address 75: slave #4, scanned "MF=Vaillant;ID=RC C ;SW=0501;HW=6201", loaded "vaillant/75.rcc.csv"
address ec: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/ec.solsy.sc.csv"

I lost addresses 52 and 53
obviously my VR60 is working fine.
why?
thanks

The error about installing eBus SDK in Ubuntu

Hello,
When I install the eBUS SDK in Ubuntu14.04 64bit LTS,the ebUniversalProForEthernet-x86_64.ko cannot be build seccesful,the error is :/opt/pleora/ebus_sdk/Ubuntu-14.04-x86_64/module/ebUniversalProForEthernet/OS_KMLNetwork.c:96:2: error: too many arguments to function ‘sock_sendmsg’
lReturn = sock_sendmsg( lSocket, &lMessage, lTotalSize );
^
Thank a lot!
error1

Some help needed with Valliant VCW376 without controller

Hi, i'm in need of some help. First i want to say i'm new to all of this so bare with me ;-)
I have a VCW376 heater and i have connected it to a ebus to usb converter(eservice) and connected everything to a PI2. Installed ebusd and started up service. So far so good i can read values with the 'r' command in ebusctl and response shows up ok.

What i was expecting that updates would come in to ebusd automatically. So if a value changed in de heater and these new values where to be submitted on the bus that i would be able to see these changes with the 'listen' command in ebusctl. But this is not the case. There are no updates. The only way i seem to get updates is when i configure a poll priority on de 'r' command.

So my question is, is this normal behaviour or is this due to the fact that i don't have a controller connected to my setup.

e-services ethernet to e-bus adapter problem

I have bought an ethernet e-bus gateway from esevice-online.de, but I can not get it to work.
When I start ebusd, a TCP connection established immediatly, but no data traffic occurs.
When with ebusctl initiated "scan full" command, in log get "No signal" message and no data traffic in TCP session.

message chaining of random messages

It would bei great to enable message chaining of randam messages with different IDs and sizes.

I have the following scenario:
The errorhistory ist stored as memoryblock in the device. To get the complete errorhistory it is necessary to read the block as six messages. Till now you have to define 6 messages differing in ID and size. And you have to communicate each defined message seperately.

Here is an example of the current definition - cutted - and the commands to get the values:
r,,ErrorHistory1,,,,,"03029F8263",,s,skip,,, ,,s,UCH,,,Byte2 ,E4.ErrorCode,s,UCH,,, -- cut
r,,ErrorHistory2,,,,,"A8B26C",,s,skip,,, ,E4.ThroughputValue,s,UCH,,, -- cut

ebusctl r -f ErrorHistory1
ebusctl r -f ErrorHistory2

And here is the same definition as chained message and only one command to get the complete errorhistory:

r,,ErrorHistory,,,,,"03029F8263; A8B26C",,s,skip,,, ,,s,UCH,,,Byte2 ,E4.ErrorCode,s,UCH,,, -- cut

ebusctl r -f ErrorHistory

raw logging of complete messages

Enhance raw command to:

  • "raw" for message log (no matter of complete/incomplete/invalid CRC etc)
  • "raw bytes" for bytes log (as is right now)

Ebusd with bulex

Hi! I'm hacking with ebusd in an attempt to control my bulex heating from my house automation. At the moment I'm trying to see if I can change the requested room temperature. My ebus environment:

address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0502;HW=3302"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=SBX00;SW=0322;HW=4802"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 70: master #4
address 75: slave #4, scanned "MF=Vaillant;ID=E7C00;SW=0211;HW=7402"

Master 70 is the room thermostat used to test: 'E7C' is the type (Bulex Exacontrol E7C). When the requested temperature is changed, the thermostat puts these 3 messages on the bus (copied from the ebusd log):

23°C
7015b509040e230001 / 00
7015b509050e24007001 / 00
7015b509070e250028014000 / 00

22°C
7015b509040e230001 / 00
7015b509050e24006001 / 00
7015b509070e250028014000 / 00

21°C
7015b509040e230001 / 00
7015b509050e24005001 / 00
7015b509070e250028014000 / 00

The magic number is '07' for 23°C, '06' for 22°C and '05' for 21°C. Now, I'm clueless on what these commands mean, but the first step would be to simply 'replay' commands to see that the examaster (15) accepts the values send by ebusd. However, when the commands are written with ebusctl an error is returned:

localhost: write -h 15b509040e230001
ERR: element not found
localhost: write -h 15b509050e24007001
ERR: element not found
localhost: write -h 15b509070e250028014000
ERR: element not found

The ebusd log shows this:

write hex cmd: 3115b509040e230001
write hex cmd: 3115b509050e24007001
write hex cmd: 3115b509070e250028014000

As nothing is happening on the examaster I'm unsure if the commands are properly written. Do you have an idea what this could be? Is it to naive to simply replay these commands or...?

Thanks!

enhance slave mode

Recent use cases reminded me that it's sometimes useful to separate 1 ebus into 2, which might require to emulate one or more clients. It would be very handy if ebusd would support a slave device mode with the capability to define a set of supported messages and their answer, that ebusd should send.

Maybe that's a too complex enhancement and should be done in a separate project, but I don't know any other projects dealing with ebus. Maybe ebusd could simply provide a method to interfere bus messages?
Or some library mode to use from other scripts or programs?
Then it could just hand over all messages to some "plug in", which is then able to respond via ebusd?

Q: In which version can I find MQQT

Since I'm very curious to use the MQTT implementation I installed lastbeforec++11.
But there seems to be no MQTT support in this version:

ebusd -V
ebusd 3.0pre.p20170130

sudo ebusd --scanconfig --mqttport=1883
ebusd: unrecognized option '--mqttport=1883'
Try `ebusd --help' or `ebusd --usage' for more information.

But ebusd --help shows me no MQTT option. Could you lead me to the version including MQTT?

Thank you.
absalom

ebusctl return me "ERR: element not found"

Hi, I developed a php page that show some few values read from ebusd, using ebusctl (shell_exec).
if I run the php page on the same ebusd server I have no problem.
If I run the php page on another server and I request values using "ebusctl -s xxx" major times (not always) I receive the error "ERR: element not found".
the problem seems to be on ebusd and not on ebusctl.
have you any idea?
thanks

Chaffoteaux ebus port

A chaffoteaux serelia green that as motherboard replace and then have 3 ebus port.
1 directly on the new motherboard (24VDC ebus2 from chaffoteaux docs) ans still the 2 other old ebus por from origin (19VDC)
John30 told me than without other device connect to the bus i can not intercept any thing.
I only saw datetime:

2016-10-01 11:02:19.158 [update error] unable to parse broadcast datetime from 10fe070009800fffffffffffffff / : ERR: argument value out of valid range

So i found an ambiant thermostat for this boiler and wire it to the ebus2 port (self power via ebus).
unfortunaly no more things on the old ebus port.

I wired the eservice usb adapter to the ebus2 port 2, now i saw more things:


ebusctl info && ebusctl scan && sleep 30 && ebusctl scan result
version: ebusd 2.1.e408c94
signal: acquired
symbol rate: 16
masters: 3
messages: 13
address 10: master #2
address 15: slave #2, scanned "MF=0;ID=" error: ERR: invalid position
address 31: master #8, ebusd
address 36: slave #8
address 70: master #4

But in ebusd i got those sort of things:


2016-10-01 11:04:18.972 [update error] unable to parse broadcast datetime from 10fe070009800fffffffffffffff / : ERR: argument value out of valid range
2016-10-01 11:04:44.425 [update notice] unknown BC cmd: 70fe20100419190001
2016-10-01 11:04:44.458 [update notice] unknown BC cmd: 70fe203b0175
2016-10-01 11:04:44.509 [update notice] unknown BC cmd: 70fe2010057118270101

I am sure chaffoteaux/aristion/etc ebus do not respect 100% of the protocole and send personnals things

How can i hope to get more information from.

fyi: using ebusd with mqtt and node-red to log to volkszaehler

Hi everyone,

I've pieced together a small node-red flow that:

  • pulls ebusd via mqtt
  • converts the results (especially Status01 as well as pump and vent state) into numbers
  • pushes the results- if updated- to volkszaehler

Any interest please let me know to add some details here.

Synology Diskstation Support

Hi,

do you also plan to support NAS systems (eg. Synology Diskstation)?
I really want to monitor my Air Heat Pump (Vaillant VWL Geotherm Plus) over Network w/ my Diskstation. All necessary Hardware (vrDIALOG Interface, eBus Koppler Ethernet, Synology DS213+) is available. To run the eBus Deamon on my FritzBox 3390 and/or on a separate Rasperry Pi is not applicable for me becuase these platforms are too inperformant.

Thanks for your reply!

Rgds,
M.

High memory consumption and eventual crash of the ebusd process on raspberry pi

I have ebusd running on a raspberry pi b+ with raspbian. Every 5 minutes I read about 200 ebusd values via telnet. This worked flawlessly with version 2.3. Since 2.4 (I'm referring to the released *_armhf.deb packages) I noticed an odd behaviour:

  • After about 1 day the virtual memory demand of ebusd is higher than 100MB which was not the case with 2.3
  • Eventually the process becomes unresponsive and the communication socket just hangs.
  • I am forced to kill ebusd with SIGKILL. Subsequently restarting ebusd just yields "signal: no signal" and it does not see any devices on the bus. I need to reboot to be able to use ebusd again.

I'd like to help by bisecting the source and finding out which commit introduced this regression for me. But I found that e.g. v2.4 (I'm now referring to the tag in this repository) doesn't run but just segfaults. So I can't test the changed that several commits made.

If I should provide any more information, let me know.

Thanks very much for this awesome piece of software!

Enhancement: raw-logfile

Hi,

it would be great if you could create an extra option for a separate logfile for raw data according to dump data.

Could be something like:

Log Options
[...]

--rawdatafile=FILE
Log received bytes to FILE [/var/log/ebusd.log]

--rawdatasize=SIZE
Make rawdata files no larger than SIZE kB [100]

BTW: cool tool :-)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.