Really Great! Also have such a Vaillant system, just have to build the Adapter.
-
-
Hallo,
a very nice projekt. In the moment have i my self-made-adapter for testing. I have a vaillant-system and with your config can i test and play. Tank you.Pimatic, my hobby.
-
This is fantastic! I have been using ebusd to poll my Vaillant heating system in the UK.
I have also tried using the ebus binding in openhab but the web interface isn’t quite what I’d like, or at least I don’t know how to make it look good.
I just saw this post so I just had to start playing with this.
I was trying to troubleshoot as I kept getting this issue:
21:38:14.115 [pimatic] Startup error: Error: Parse error on line 99: 21:38:14.115 [pimatic]>...: "C" }, { "id": "vaill 21:38:14.115 [pimatic]>---------------------^ 21:38:14.115 [pimatic]>Expecting 'STRING', got '{'
It turns out in your VariablesDevices section, you have a typo, you’ve got a open bracket “{” for the Class “class”: “SimpleTruncatedMeanFilter”, and one after “output”: { and a closing bracket “}” for the “output:” but the class } is missing. Once I fixed that the error went away.
Also I’m still getting these errors:
21:45:39.453 [pimatic] No plugin found for device "ebusd_presence" of class "ShellPresenceSensor"! 21:45:39.465 [pimatic] No plugin found for device "vaillant_flame_presence" of class "ShellPresenceSensor"! 21:45:39.504 [pimatic] New device "Info"... 21:45:39.519 [pimatic] No plugin found for device "vaillant_raum_temp" of class "ShellSensor"! 21:45:39.544 [pimatic] Invalid config of device "filter2-raum": Property "type" is not a valid property in /output 21:45:39.550 [pimatic] New device "Raum-f2"... 21:45:39.567 [pimatic] No plugin found for device "vaillant_heizung" of class "ShellSwitch"! 21:45:39.577 [pimatic] No plugin found for device "vaillant_warmwasser" of class "ShellSwitch"! 21:45:39.604 [pimatic] New device "Heizkreislauf"... 21:45:39.635 [pimatic] Invalid config of device "vaillant-warmwasser": Property "guiShowTemperatueInput" is not a valid property 21:45:39.637 [pimatic] New device "Warmwasser"... 21:45:39.669 [pimatic] New device "Vaillant"... 21:45:39.752 [pimatic, VariablesDevice] Error getting attribute value vaillant_info.WW Speicher: Could not parse expression 21:45:39.853 [pimatic] Could not update variable vaillant_info.WW Speicher: Could not parse expression 21:45:39.934 [pimatic-filter] Error on device filter2-raum: Could not parse expression
Could you please explain how to define the plugins for these devices?
Thank you
EDIT: I think it’s the rule definition that I need help with, for example:
{ "id": "ebusd_presence", "name": "ebusd_presence" "rule": "if pimatic is starting then execute \"sudo service ebusd stop\" and after 5 seconds execute \"sudo killall ebusd\" and after 7 seconds execute \"sudo killall ebusctl\" "active": true, "logging": true },
{ "id": "vaillant_flame_presence", "name": "vaillant_flame_presence", "rule": "if ebusd_presence is absent for 10 seconds then execute \"sudo ebusd -c /etc/ebusd -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03U6OL-if00-port0\" "active": true, "logging": true },
Would this be correct?
-
@Harpinder-Sanghera
You are right one “}” was missing.I use the pimatic-filter plugin to avoid read errors with wrong values. You need also the “shell-execute” plugin.
add this to the plugin part:
{ "plugin": "filter" }, { "plugin": "shell-execute" },
I have edit the rule above. I use the follow two rules to keep it running:
if $vaillant_ebusctl_count.ebusctl-prozesse > 5 then execute \"sudo service ebusd stop\" and after 2 seconds execute \"sudo killall ebusctl\" and after 2 seconds execute \"killall ebusd\"
if ebusd_presence is absent for 10 seconds then execute \"sudo ebusd -c /etc/ebusd -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI03U6OL-if00-port0\"
if ebusd stops working , the ebusctl que will count up. The first rule kills the ebusd service if ebusctl_count >5
and the second starts it again after 10 seconds.Here my vaillant config part:
{ "id": "vaillant_wasser_druck", "name": "Vaillant Wasserdruck", "class": "ShellSensor", "attributeName": "vaillant-pressure", "attributeType": "number", "attributeUnit": "bar", "command": "ebusctl read waterpressure | head -1 | sed 's/;ok//g'", "interval": 300000 }, { "id": "vaillant_flame_presence", "name": "Flamme", "class": "ShellPresenceSensor", "interval": 10000, "command": "ebusctl read sdflame | head -1 | sed 's/on/1/g' | sed 's/off/0/g'" }, { "id": "vaillant_ebusctl_count", "name": "vaillant-ebusctl-count", "class": "ShellSensor", "attributeName": "ebusctl-prozesse", "attributeType": "number", "attributeUnit": "x", "command": " ps -C ebusctl | wc -l" }, { "id": "ebusd_presence", "name": "ebusd", "class": "ShellPresenceSensor", "interval": 10000, "command": "pgrep ebusd >/dev/null && echo 1 || echo 0" }, { "id": "vaillant_heizung", "name": "Vaillant Heizung", "class": "ShellSwitch", "onCommand": "ebusctl write -c 430 Hc1OPMode manual >/dev/null 2>&1", "offCommand": "ebusctl write -c 430 Hc1OPMode off >/dev/null 2>&1" }, { "id": "vaillant_warmwasser", "name": "Vaillant Warmwasser", "class": "ShellSwitch", "onCommand": "ebusctl write -c 430 HwcOPMode manual >/dev/null 2>&1", "offCommand": "ebusctl write -c 430 HwcOPMode off >/dev/null 2>&1" }, { "id": "vaillant-buttons", "name": "Vaillant", "class": "ButtonsDevice", "buttons": [ { "id": "vaillant-baden", "text": "Baden 55°" }, { "id": "vaillant-duschen", "text": "Duschen 45°" } ] }, { "id": "vaillant_info", "name": "Info", "class": "VariablesDevice", "variables": [ { "name": "Wohnzimmer_soll", "expression": "$vaillant-heating.temperatureSetpoint", "type": "number", "unit": "°C", "label": "Wohnzimmer-Soll", "acronym": "WZsoll" }, { "name": "Wohnzimmer_ist", "expression": "$filter2-raum.temperature", "type": "number", "unit": "°C", "label": "Wohnzimmer-Ist", "acronym": "WZist" }, { "name": "WW Solltemperatur", "expression": "$vaillant-warmwasser.temperatureSetpoint", "type": "number", "unit": "°C", "label": "WW-Soll", "acronym": "WWsoll" }, { "name": "WW Speicher", "expression": "$filter2-speicher.temperature", "type": "number", "unit": "°C", "label": "Speicher-Ist", "acronym": "WWist" } ] }, { "id": "vaillant_info2", "name": "Info", "class": "VariablesDevice", "variables": [ { "name": "Vorlauf", "expression": "$filter2-vorlauf.temperature", "type": "number", "unit": "°C", "label": "Vorlauf", "acronym": "HK1VL" }, { "name": "Ruecklauf", "expression": "$filter2-ruecklauf.temperature", "type": "number", "unit": "°C", "label": "Ruecklauf", "acronym": "HK1RL" }, { "name": "Druck", "expression": "$vaillant_wasser_druck.vaillant-pressure", "type": "number", "unit": "bar", "label": "Druck", "acronym": "p" }, { "name": "EbusCtl", "expression": "$vaillant_ebusctl_count.ebusctl-prozesse", "type": "number", "unit": "x", "label": "count", "acronym": "ctlCount" } ] }, { "id": "vaillant_vorlauf_temp", "name": "Vorlauf", "class": "ShellSensor", "attributeName": "vaillant_vorlauf_temp", "attributeType": "number", "attributeUnit": "°C", "interval": 60000, "command": "ebusctl read flowtemp | head -1 | sed 's/;ok//g'" }, { "id": "vaillant_ruecklauf_temp", "name": "Ruecklauf", "class": "ShellSensor", "attributeName": "vaillant_ruecklauf_temp", "attributeType": "number", "attributeUnit": "°C", "interval": 60000, "command": "ebusctl read SDTRT | head -1 | cut -b 1-4" }, { "class": "SimpleMovingAverageFilter", "id": "filter-vorlauf", "name": "Vorlauf-f", "size": 5, "output": { "name": "temperature", "label": "Vorlauf", "expression": "$vaillant_vorlauf_temp.vaillant_vorlauf_temp", "acronym": "T", "unit": "°C" } }, { "class": "SimpleTruncatedMeanFilter", "id": "filter2-vorlauf", "name": "Vorlauf-f2", "size": 10, "output": { "name": "temperature", "label": "Vorlauf-f2", "expression": "$vaillant_vorlauf_temp.vaillant_vorlauf_temp", "acronym": "T", "unit": "°C" } }, { "class": "SimpleMovingAverageFilter", "id": "filter-ruecklauf", "name": "Ruecklauf-f", "size": 5, "output": { "name": "temperature", "label": "Ruecklauf", "expression": "$vaillant_ruecklauf_temp.vaillant_ruecklauf_temp", "acronym": "T", "unit": "°C" } }, { "class": "SimpleTruncatedMeanFilter", "id": "filter2-ruecklauf", "name": "Ruecklauf-f2", "size": 10, "output": { "name": "temperature", "label": "Ruecklauf-f2", "expression": "$vaillant_ruecklauf_temp.vaillant_ruecklauf_temp", "acronym": "T", "unit": "°C" } }, { "id": "vaillant_raum_temp", "name": "Wohnzimmer Raumtemperatur", "class": "ShellSensor", "attributeName": "vaillant_room_temp", "attributeType": "number", "attributeUnit": "°C", "interval": 300000, "command": "ebusctl read DisplayedRoomTemp" }, { "class": "SimpleMovingAverageFilter", "id": "filter-raum", "name": "Raum-f", "size": 5, "output": { "name": "temperature", "label": "Wohnzimmer", "expression": "$vaillant_raum_temp.vaillant_room_temp", "acronym": "T", "unit": "°C" } }, { "class": "SimpleTruncatedMeanFilter", "id": "filter2-raum", "name": "Raum-f2", "size": 5, "output": { "name": "temperature", "label": "Raum", "expression": "$vaillant_raum_temp.vaillant_room_temp", "acronym": "T", "unit": "°C" } }, { "id": "vaillant_speicher_temp", "name": "Warmwasserspeicher Temperatur", "class": "ShellSensor", "attributeName": "vaillant_speicher_temp", "attributeType": "number", "attributeUnit": "°C", "interval": 60000, "command": "ebusctl read DisplayedHwcStorageTemp" }, { "class": "SimpleMovingAverageFilter", "id": "filter-speicher", "name": "Speicher-f", "size": 5, "output": { "name": "temperature", "label": "Speicher", "expression": "$vaillant_speicher_temp.vaillant_speicher_temp", "acronym": "T", "unit": "°C" } }, { "class": "SimpleTruncatedMeanFilter", "id": "filter2-speicher", "name": "Speicher-f2", "size": 10, "output": { "name": "temperature", "label": "Speicher", "expression": "$vaillant_speicher_temp.vaillant_speicher_temp", "acronym": "T", "unit": "°C" } }, { "class": "DummyHeatingThermostat", "id": "vaillant-heating", "name": "Heizkreislauf", "comfyTemp": 21, "ecoTemp": 17, "guiShowModeControl": true, "guiShowPresetControl": true }, { "class": "DummyHeatingThermostat", "id": "vaillant-warmwasser", "name": "Warmwasser", "comfyTemp": 55, "ecoTemp": 45, "guiShowModeControl": true, "guiShowPresetControl": true },
-
Thanks!
Could you show me your rules part? I have added the rules. Pimatic 0.9.34 converted the if…then rules to when…then. They seem to work but I just want to double check they’re ok.
When I ran Pimatic it changed my rules to when and then.
E.G.
Before:
"rule": "if $vaillant_ebusctl_count.ebusctl-prozesse > 5 then execute \"sudo service ebusd stop\" and after 2 seconds execute \"sudo killall ebusctl\" and after 2 seconds execute \"killall ebusd\""
After:
"rule": "when $vaillant_ebusctl_count.ebusctl-prozesse > 5 then execute \"sudo service ebusd stop\" and after 2 seconds execute \"sudo killall ebusctl\" and after 2 seconds execute \"killall ebusd\""
I changed the rule that specified the coupler device as I have the
usb-E-Service_GmbH_eBus_Coupler
which is different to yours but I still get these errors:21:27:13.130 [pimatic-shell-execute] error: [ShellPresenceSensor#vaillant_flame_presence] stderr output from presence command for Flamme: recv: Connection reset by peer
21:27:13.130 [pimatic-shell-execute] error:>
21:27:13.134 [pimatic-shell-execute] error: [ShellPresenceSensor#vaillant_flame_presence] Error: unknown state=""!
21:27:13.138 [pimatic-shell-execute] error: [ShellSensor#vaillant_vorlauf_temp] Error: Error getting attribute value for Vorlauf: recv: Connection reset by peer
21:27:13.138 [pimatic-shell-execute] error:>
Unhandled rejection Error: unknown state=""!
Unhandled rejection Error: Error getting attribute value for Vorlauf: recv: Connection reset by peer
21:27:23.198 [pimatic-shell-execute] error: [ShellPresenceSensor#vaillant_flame_presence] Error: unknown state="error c1necting to localhost:8888"!
Unhandled rejection Error: unknown state="error c1necting to localhost:8888"!
21:27:27.076 [pimatic] info: rule process2: executed "sudo ebusd -c /etc/ebusd -d /dev/serial/by-id/usb-E-Service_GmbH_eBus_Coupler_USB_A6YLL9V6-if00-port0":
21:27:33.260 [pimatic-shell-execute] error: [ShellPresenceSensor#vaillant_flame_presence] Error: unknown state="ERR: element not found"!
Unhandled rejection Error: unknown state="ERR: element not found"!
Unhandled rejection Error: unknown state="ERR: element not found"!
Unhandled rejection Error: unknown state="ERR: element not found"!
Unhandled rejection Error: unknown state="ERR: element not found"!
21:28:13.247 [pimatic-filter] error: Error on device filter-ruecklauf: Input value is not a number: NaN
21:28:13.250 [pimatic-filter] error: Error on device filter2-ruecklauf: Input value is not a number: NaN
21:28:13.339 [pimatic-filter] error: Error on device filter-vorlauf: Input value is not a number: NaN
21:28:13.341 [pimatic-filter] error: Error on device filter2-vorlauf: Input value is not a number: NaN
My ebus configuration is different to yours so I will try to change the values in the devices and see if that helps. Yours are in german and my csv file is in english so I will change them!
-
@Harpinder-Sanghera
since pimatic v.9 the rulepart was changed to “when then”. Before v.9 it was/is “if then”. I have 2 setups v.8 and v.9 My heating setup is on v.8 (never change a running system ). But it should also work with v9. Pimatic v.9 is more user friendly and supports autodicovery. It is so easy to add devices on the fly.You can delete the $start part. This is a workaround to avoid messages during pimatic startup.
You should start without pimatic-filter. Maybe you dont need it.
-
Thanks! I removed the start part.
I tried starting without the filter and got this:
22:07:52.155 [pimatic] warn: No plugin found for device "filter-vorlauf" of class "SimpleMovingAverageFilter"! 22:07:52.166 [pimatic] warn: No plugin found for device "filter2-vorlauf" of class "SimpleTruncatedMeanFilter"! 22:07:52.174 [pimatic] warn: No plugin found for device "filter-ruecklauf" of class "SimpleMovingAverageFilter"! 22:07:52.182 [pimatic] warn: No plugin found for device "filter2-ruecklauf" of class "SimpleTruncatedMeanFilter"! 22:07:52.215 [pimatic] info: New device "Wohnzimmer Raumtemperatur"... 22:07:52.222 [pimatic] warn: No plugin found for device "filter-raum" of class "SimpleMovingAverageFilter"! 22:07:52.238 [pimatic] warn: No plugin found for device "filter2-raum" of class "SimpleTruncatedMeanFilter"! 22:07:52.281 [pimatic] info: New device "Warmwasserspeicher Temperatur"... 22:07:52.291 [pimatic] warn: No plugin found for device "filter-speicher" of class "SimpleMovingAverageFilter"! 22:07:52.299 [pimatic] warn: No plugin found for device "filter2-speicher" of class "SimpleTruncatedMeanFilter"! 22:07:52.318 [pimatic] info: New device "Heizkreislauf"... 22:07:52.351 [pimatic] info: New device "Warmwasser"... 22:07:52.477 [pimatic, VariablesDevice] error: Error getting attribute value vaillant_info.Wohnzimmer_ist: Could not parse expression 22:07:52.592 [pimatic, VariablesDevice] error: Error getting attribute value vaillant_info.WW Speicher: Could not parse expression 22:07:52.597 [pimatic] warn: Could not update variable vaillant_info.Wohnzimmer_ist: Could not parse expression 22:07:52.601 [pimatic] warn: Could not update variable vaillant_info.WW Speicher: Could not parse expression 22:07:52.606 [pimatic, VariablesDevice] error: Error getting attribute value vaillant_info2.Vorlauf: Could not parse expression 22:07:52.610 [pimatic, VariablesDevice] error: Error getting attribute value vaillant_info2.Ruecklauf: Could not parse expression 22:07:52.631 [pimatic] warn: Could not update variable vaillant_info2.Vorlauf: Could not parse expression 22:07:52.644 [pimatic] warn: Could not update variable vaillant_info2.Ruecklauf: Could not parse expression 22:07:53.533 [pimatic] error: Could not parse rule "when vaillant-duschen is pressed then execute "ebusctl write -c 350 HwcManualOPTempDesired 45" and turn vaillant_warmwasser on for 30 minutes and set $vaillant_warmwasser_soll = 45": Could not find an provider that provides the next action of "set $vaillant_warmwasser_soll = 45". 22:07:53.678 [pimatic] error: Could not parse rule "when vaillant-baden is pressed then execute "ebusctl write -c 350 HwcManualOPTempDesired 55" and turn vaillant_warmwasser on for 30 minutes and set $vaillant_warmwasser_soll = 55 and after 31 minutes execute "ebusctl write -c 350 HwcManualOPTempDesired 45" and after 30 minutes set $vaillant_warmwasser_soll = 45": Could not find an provider that provides the next action of "set $vaillant_warmwasser_soll = 55 and after 31 minutes execute "ebusctl write -c 350 HwcManualOPTempDesired 45" and after 30 minutes set $vaillant_warmwasser_soll = 45". 22:07:53.797 [pimatic-shell-execute] error: [ShellPresenceSensor#vaillant_flame_presence] Error: unknown state="ERR: element not found"! 22:07:53.831 [pimatic] warn: Could not update variable vaillant_flame_presence.presence: undefined 22:07:53.834 [pimatic-shell-execute, ShellPresenceSensor] error: Error getting attribute value vaillant_flame_presence.presence: undefined Unhandled rejection Error: unknown state="ERR: element not found"!
I have added the filter back in.
Can I just ignore these?
21:28:13.247 [pimatic-filter] error: Error on device filter-ruecklauf: Input value is not a number: NaN 21:28:13.250 [pimatic-filter] error: Error on device filter2-ruecklauf: Input value is not a number: NaN 21:28:13.339 [pimatic-filter] error: Error on device filter-vorlauf: Input value is not a number: NaN 21:28:13.341 [pimatic-filter] error: Error on device filter2-vorlauf: Input value is not a number: NaN
-
@Harpinder-Sanghera
the filter needs a variable to work with. For example filter-ruecklauf needs $vaillant_ruecklauf_temp.vaillant_ruecklauf_temp
Is there a value in the variable?
test this command…ebusctl read SDTRT | head -1 | cut -b 1-4
-
Yes they work manually. I was about to reply. Please see below:
root@PieBus:/etc/ebusd# ebusctl read SDTRT | head -1 | cut -b 1-4
31.5
root@PieBus:/etc/ebusd# ebusctl read waterpressure
1.922;ok
root@PieBus:/etc/ebusd# ebusctl read waterpressure | head -1 | sed 's/;ok//g'
1.922
root@PieBus:/etc/ebusd# ebusctl read sdflame | head -1 | sed 's/on/1/g' | sed 's/off/0/g'
0
-
@Harpinder-Sanghera
this looks good!
Is there a value in pimatic variable $vaillant_ruecklauf_temp.vaillant_ruecklauf_temp? -
@magic-tune said in How to control Vaillant heating:
@Harpinder-Sanghera
this looks good!
Is there a value in pimatic variable $vaillant_ruecklauf_temp.vaillant_ruecklauf_temp?Yes, via the UI I can see the variable shows 30.8 C!!
It’s now looking good! I need to change some variables and commands to tailor it for my system.
I just wanted to ask, how did you set the graph up? I right clicked some of them and added them to the graph like yours but I want to make this permanent like in your screenshot on a page that I can just open! How did you do it?
-
@Harpinder-Sanghera
The graph and the devices are seperat sreenshots. You can reach the graphpage by this url: http://<PI-IP>/#graph-page
I don´t know if its possible to open a specific graph by url, Think that is not possible yet. If somebody knows, please tell us.
A graph as device would be nice. -
@magic-tune Everything is working great now so just looking at graphs:
This thread talks about adding graphing to devices:
https://forum.pimatic.org/topic/18/implemented-logging-and-graphing-the-state-of-devicesI’ve added
"graph": true
but can’t get it to work -
This looks great!
I would also like to control my Vaillant heating like this. However because of my limited programming skills, I am a bit in doubt over buying the ready2use adapter. Its quite a big investment and i would hate it if i didn’t get it working or partially working… I do know my way around in Linux and Pimatic though…
the main reason i am in doubt is because of this ebusd, is this easy to set up? I think i can manage the installation part, its the configuration part that troubles me.
And what kind adapter do you use? did you make it your self? or the ready2use adapter? and do you connect by USB or ethernet?Grt. Marcel
-
@mr.smith The eService one (USB not Ethernet) is the best one in my opinion, straight plug and play. You just need to tap off the ebus. The Ethernet one is good if you can’t connect a raspberry pi or other similar device near the controls (mine is connected off a VR66 control center next to my hot water storage cylinder, so it’s the USB one, the ethernet one has a bit of a delay compared to the more responsive USB eService coupler).
If you’re good with Linux, you can do this no problem. I’m going to write up a guide on my blog, I’ll post a link when I’ve tested, including configuring ebusd.
Now the important part is it can only really work if there are compatible files for your eBUS devices. What eBus devices do you have?
I have a brand new Vaillant ecoTEC Plus 837 System boiler (not combination but they also work), but I had an older model 837. They have completely changed the new post-2012 boilers but mine still works. I also have a VRT350 controller. Other controllers that work are the VRT370, VRC430, 470 including the wireless versions and the older VRT360.
I also have a VR 66 wiring center that opens and closes my hot water and central heating valves.
If you tell me your devices I can look them up and see if the configuration files are available then you can just buy an adapter off eservice.de like I did and I’ll show you the rest of the steps needed.
As you can use Linux and Pimatic then the rest of it is easy
Pssst…Vaillant now do a vSmart controller! It uses weather data from the internet for weather compensation (heating modulation!) and there is a phone app to control it via Wifi. However I heard there is a even better but more expensive controller. There’s the VRC700 combined with the vr900 which allows you to do even more and has a better app too! (However that one seems for the German market, maybe it’ll come to the UK market (where I live) soon.
I still prefer using an app like Pimatic however!
-
That looks very promising! I have a VRT350 controller, and a ecoTEC plus VHR 25-30 combination boiler.
In an ebusd-configuration file i just downloaded, i found a file 15.350.csv so i am guessing this is for the VRT350?Also I have read somewhere that the VRT350 controller and the boiler i use are both modulating. Now perhaps a dump question, but his system also works modulating wright?
-
@mr-smith
I have buid the adaper by my self 1 year ago. For me it was fun to solder all the parts to the circuit board. The Adapteris is connected via USB to the Pi and with 2 Wires (7m) to the EBUS.
I love it to have the possibility to control my heating by pimatic. -
@mr.smith As long as you use eBus controls, yes it is modulating because it is talking intelligently to the eBus instead of just a on and off switch like the AC power timers (those aren’t really controllers!) I am also using a VRT350. There are different software versions and mine is newer so I had to hack mine to use some of the VRT370 commands with mine but yours might be ok.
Just install ebusd via the deb package then the ebusd configuration via the deb package (it’s all in john30’s github). Then you just start the service and do a tail -f /var/log/ebusd.log with the eService USB coupler and you will start to see the devices talking! The daemon picks the right files for you, provided you devices are all there. What I would do is after running ebusd and keeping the tail on the log file running on a separate ssh session and then running “ebusctl scan full”, it will scan the entire bus and identify which devices it found. After 2 mins just run ebusctl scan result and it will list your devices so you don’t have to dig into the log file to get them.
I am having quite a bit of run with Pimatic. I’ve tried openhab (urghh Java, urghhhhh!) and it wasn’t that good. Pimatic uses the native ebusd daemon that is written in C/C# and is fantastic and fast.
-
Thanks you for your reply guys!
I am convinced, just bought my self a ready2use USB adapter. Wil keep you posted on my eBUSd adventures! -
@mr.smith Keep us updated