New Add-on: Vantage Pro 2 MQTT (Deprecated)

Hey!

Thank you very much for the integration!

I have a Vantage Pro 2 connected to an RPI. On the RPI i am running ser2net. This forwards the Vantage Pro 2 Serial port to a TCP Port. In my case :22222.

So far all my attempts to connect this integration to this port failed. I do use some other Homeautomation software that works this way (yeah, i disabled it to avoid multiple connections).

Should this setup be possible in general or is this something totally not considered to be done?

Thx in advance,
Tom

You could try to use the python pyvantage tool to see if you can connect to that port. Or vproweather on a Linux based system to check if you can make a connection.

Specially if you tried to connect several times with the vantage pro integration.

thank you! i will give those a try and report back.

thanks for the tip. investigating further turned out to be a configuration issue with ser2net.
sending the ser2net banner on connection was what irritated the integration. disabled the banner and it worked instantly.

thank you for the great integration once again.

Hi Marco,

Installing a new Davis Vantage Pro 2 that is using the new Davis 6313 console. I am having difficulty connecting to vantagepro2mqtt. Log is showing the MQTT broker connecting to HA but the connection to the console is being refused on at the assigned IP address and port assignment of 22222. I’ve attached a log file, any ideas on what might be wrong? Do you know if any others are successfully using the Davis 6313 with vantagepro2mqtt? Regards, Richard

Vantage Pro to MQTT
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[15:30:55] INFO: MQTT available, fetching server details …
[15:30:55] INFO: MQTT server settings not configured, trying to auto-discovering …
[15:30:56] DEBUG: Requested API resource: http://supervisor/services/mqtt
[15:30:56] DEBUG: Request method: GET
[15:30:56] DEBUG: Request data: {}
[15:30:56] DEBUG: API HTTP Response code: 200
[15:30:56] DEBUG: API Response: {“result”: “ok”, “data”: {“host”: “core-mosquitto”, “port”: 1883, “ssl”: false, “protocol”: “3.1.1”, “username”: “addons”, “password”: “****”, “addon”: “core_mosquitto”}}

[15:30:56] INFO: -d null -a 192.168.1.62:22222 -b core-mosquitto -P 1883 -u addons -p ****** -I homeassistant -s Imperial -i 30 -l debug
[2024-01-28 15:30:56] DEBUG: device =
[2024-01-28 15:30:56] DEBUG: address = 192.168.1.62:22222
[2024-01-28 15:30:56] DEBUG: broker = core-mosquitto
[2024-01-28 15:30:56] DEBUG: port = 1883
[2024-01-28 15:30:56] DEBUG: mqtt_user = addons
[2024-01-28 15:30:56] DEBUG: mqtt_pass = *****
[2024-01-28 15:30:56] DEBUG: discovery_prefix = homeassistant
[2024-01-28 15:30:56] DEBUG: unit_system = Imperial
[2024-01-28 15:30:56] DEBUG: interval = 30
[2024-01-28 15:30:56] DEBUG: log_level = debug
[2024-01-28 15:30:56] DEBUG: new_sensor_used = False
[2024-01-28 15:30:56] DEBUG: alt_windspeed_uom = False
[2024-01-28 15:30:56] DEBUG: Added MQTT user and password
[2024-01-28 15:30:56] INFO: Connecting to MQTT broker
[2024-01-28 15:30:56] INFO: Connecting to weather station
Traceback (most recent call last):
File “//./vantagepro2mqtt.py”, line 233, in
vantagepro2 = VantagePro2.from_url(link) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.11/site-packages/pyvantagepro/device.py”, line 80, in from_url
return cls(link)
^^^^^^^^^
File “/usr/lib/python3.11/site-packages/pyvantagepro/device.py”, line 68, in init
self.link.open()
File “/usr/lib/python3.11/site-packages/pylink/link.py”, line 90, in open
self._socket.connect(self.address)
ConnectionRefusedError: [Errno 111] Connection refused
[2024-01-28 15:30:56] INFO: Close connection
[2024-01-28 15:30:57] INFO: Connection was closed
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

I don’t think the new console will work together with the add-on nor the integration.

Thanks for the reply. Trying a different setup. Now using a Davis Envoy8x with USB. Looks like vantagepro2mqtt is connecting and initially getting correct responses until it hits the first “LOOP 1”. Maybe I have an incorrect setting? I do see that the Envoy is supported. Is the Envoy8x also supported? I’ve attached a log file.

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[15:55:51] INFO: MQTT available, fetching server details ...
[15:55:51] INFO: MQTT server settings not configured, trying to auto-discovering ...
[15:55:51] DEBUG: Requested API resource: http://supervisor/services/mqtt
[15:55:51] DEBUG: Request method: GET
[15:55:51] DEBUG: Request data: {}
[15:55:51] DEBUG: API HTTP Response code: 200
[15:55:51] DEBUG: API Response: {"result": "ok", "data": {"host": "core-mosquitto", "port": 1883, "ssl": false, "protocol": "3.1.1", "username": "addons", "password": "************", "addon": "core_mosquitto"}}

[15:55:52] INFO:  -d /dev/ttyUSB1 -b core-mosquitto -P 1883 -u addons -p ********* -I homeassistant -s Imperial -i 10 -l debug
[2024-01-30 15:55:52] DEBUG: device = /dev/ttyUSB1
[2024-01-30 15:55:52] DEBUG: address = 
[2024-01-30 15:55:52] DEBUG: broker = core-mosquitto
[2024-01-30 15:55:52] DEBUG: port = 1883
[2024-01-30 15:55:52] DEBUG: mqtt_user = addons
[2024-01-30 15:55:52] DEBUG: mqtt_pass = **********
[2024-01-30 15:55:52] DEBUG: discovery_prefix = homeassistant
[2024-01-30 15:55:52] DEBUG: unit_system = Imperial
[2024-01-30 15:55:52] DEBUG: interval = 10
[2024-01-30 15:55:52] DEBUG: log_level = debug
[2024-01-30 15:55:52] DEBUG: new_sensor_used = False
[2024-01-30 15:55:52] DEBUG: alt_windspeed_uom = False
[2024-01-30 15:55:52] DEBUG: Added MQTT user and password
[2024-01-30 15:55:52] INFO: Connecting to MQTT broker
[2024-01-30 15:55:52] INFO: Connecting to weather station
[2024-01-30 15:55:52] INFO: new <SerialLink serial:/dev/ttyUSB1:19200:8N1> was initialized
[2024-01-30 15:55:52] INFO: try wake up console
[2024-01-30 15:55:52] INFO: Write : <'\n'>
[2024-01-30 15:55:52] INFO: Read : <'\n\r'>
[2024-01-30 15:55:52] INFO: Check ACK: OK ('\n\r')
[2024-01-30 15:55:52] INFO: try send : VER
[2024-01-30 15:55:52] INFO: Write : <'VER\n'>
[2024-01-30 15:55:52] INFO: Read : <'\n\rOK\n\r'>
[2024-01-30 15:55:52] INFO: Check ACK: OK ('\n\rOK\n\r')
[2024-01-30 15:55:52] INFO: Read : <'Jul  1 2013\n\r'>
[2024-01-30 15:55:52] INFO: Set weather station time to system time
[2024-01-30 15:55:52] INFO: try wake up console
[2024-01-30 15:55:52] INFO: Write : <'\n'>
[2024-01-30 15:55:52] INFO: Read : <'\n\r'>
[2024-01-30 15:55:52] INFO: Check ACK: OK ('\n\r')
[2024-01-30 15:55:52] INFO: try send : SETTIME
[2024-01-30 15:55:52] INFO: Write : <'SETTIME\n'>
[2024-01-30 15:55:52] INFO: Read : <'\x06'>
[2024-01-30 15:55:52] INFO: Check ACK: OK ('\x06')
[2024-01-30 15:55:52] INFO: try send : 34 37 0F 1E 01 7C 42 B1
[2024-01-30 15:55:52] INFO: Write : <34 37 0F 1E 01 7C 42 B1>
[2024-01-30 15:55:52] INFO: Read : <'\x06'>
[2024-01-30 15:55:52] INFO: Check ACK: OK ('\x06')
[2024-01-30 15:55:52] INFO: Acquiring data from serial:/dev/ttyUSB1:19200:8N1 using vproweather
[2024-01-30 15:55:52] INFO: try wake up console
[2024-01-30 15:55:52] INFO: Write : <'\n'>
[2024-01-30 15:55:53] INFO: Read : <'\n\r'>
[2024-01-30 15:55:53] INFO: Check ACK: OK ('\n\r')
[2024-01-30 15:55:53] INFO: try send : LOOP 1
[2024-01-30 15:55:53] INFO: Write : <'LOOP 1\n'>
[2024-01-30 15:55:53] INFO: Read : <'\n'>
[2024-01-30 15:55:53] ERROR: Check ACK: BAD ('\x06' != '\n')
[2024-01-30 15:55:54] INFO: try send : LOOP 1
[2024-01-30 15:55:54] INFO: Write : <'LOOP 1\n'>
[2024-01-30 15:55:54] INFO: Read : <'\r'>
[2024-01-30 15:55:54] ERROR: Check ACK: BAD ('\x06' != '\r')
[2024-01-30 15:55:54] INFO: try send : LOOP 1
[2024-01-30 15:55:54] INFO: Write : <'LOOP 1\n'>
[2024-01-30 15:55:54] INFO: Read : <'\n'>
[2024-01-30 15:55:54] ERROR: Check ACK: BAD ('\x06' != '\n')
[2024-01-30 15:55:54] WARNING: Couldn't acquire data from serial:/dev/ttyUSB1:19200:8N1
[2024-01-30 15:55:54] INFO: Connection <SerialLink serial:/dev/ttyUSB1:19200:8N1> was closed
[2024-01-30 15:55:54] INFO: Now waiting for 10 seconds for next cycle
[2024-01-30 15:56:04] INFO: new <SerialLink serial:/dev/ttyUSB1:19200:8N1> was initialized
[2024-01-30 15:56:04] INFO: Acquiring data from serial:/dev/ttyUSB1:19200:8N1 using vproweather
[2024-01-30 15:56:04] INFO: try wake up console
[2024-01-30 15:56:04] INFO: Write : <'\n'>
[2024-01-30 15:56:04] INFO: Read : <'\n\r'>
[2024-01-30 15:56:04] INFO: Check ACK: OK ('\n\r')
[2024-01-30 15:56:04] INFO: try send : LOOP 1
[2024-01-30 15:56:04] INFO: Write : <'LOOP 1\n'>
[2024-01-30 15:56:05] INFO: Read : <'\n'>
[2024-01-30 15:56:05] ERROR: Check ACK: BAD ('\x06' != '\n')
[2024-01-30 15:56:05] INFO: try send : LOOP 1
[2024-01-30 15:56:05] INFO: Write : <'LOOP 1\n'>
[2024-01-30 15:56:05] INFO: Read : <'\r'>
[2024-01-30 15:56:05] ERROR: Check ACK: BAD ('\x06' != '\r')
[2024-01-30 15:56:06] INFO: try send : LOOP 1
[2024-01-30 15:56:06] INFO: Write : <'LOOP 1\n'>
[2024-01-30 15:56:06] INFO: Read : <'\n'>
[2024-01-30 15:56:06] ERROR: Check ACK: BAD ('\x06' != '\n')
[2024-01-30 15:56:06] WARNING: Couldn't acquire data from serial:/dev/ttyUSB1:19200:8N1
[2024-01-30 15:56:06] INFO: Connection <SerialLink serial:/dev/ttyUSB1:19200:8N1> was closed
[2024-01-30 15:56:06] INFO: Now waiting for 10 seconds for next cycle

I don’t own a Envoy8x myself, so I’ve no experience with this device.

After some investigation, it appears the Envoy8x may be using the same protocol as my Vantage Pro2 console. The difference is that the Envoy8x, since it supports up to 8 ISS stations, is using a modified command. This command is in the place of the “LOOP” command and is “LOOPCH n” (where n = 0,1,2-7). N is the ISS assignment in the Envoy8x, thus data from up to 8 stations can be received.
My thought is that if a configuration switch could be added to vantagepro2mqtt to enable Envoy8x support and 8 channel enable switches could also be added, vantagepro2mqtt could substitute the “LOOPCH n” command for the “LOOP” command if the Envoy8x switch was enabled and the “n” would be picked up from the switch or switches enabled for channels (one for each of the 8 ISS stations). The Envoy8x support switch when off would also preserve all existing support in vantagepro2mqtt when not using an Envoy8x.
In my initial setup, I have just one ISS configured on my Envoy8x and it is assigned to channel 0. When I issue a “LOOPCH 0” from a terminal emulator through a USB connection to the Envoy8x, I receive a data packet that looks very similar to my console data packet. I can even identify many of the ISS data values. (Not sure about the CRC, cannot calculate that easily). Same works when I assign my ISS to channel 2 in the Envoy8x and issue a “LOOPCH 2” command.
I’d be willing to try a version of vantagepro2mqtt and provide feedback if support could eventually be added for the Envoy8x.

Best Regards, --Richard

Hi Marco,

I have a Davis Vantage Pro 2 for many years. The station has a the WeatherLink Data Logger 6510SER which is connected to a laptop with a Serial/USB cable.

Recently I have installed Home Assistant in a Raspberry Pi 4. I have several devices and everything works fine. But I haven’t completely mastered HA yet.

I would like now to connect my Davis station to Home Asssitant and for this I have installed your addon Vantage Pro2. I also bought an RS232 to ETH converter (Industrial RS232/RS485 to Ethernet Converter) because my station is not in the same room as the Rasberry.

Within the WaveShare configuration tool I have configured the RS232 port as follow:

  • IP adress: 192.168.1.232
  • Socket A parameters :
  • Work Mode: TCP Server
  • Local/Remote Portt num: 23

In HA I have configured the Vantage Pro2 addon as follow:

  • Protocol: Network
  • Host: 192.168.1.232:23
  • Davis WS model: Wantage Pro2
  • Interval: 30

Then I got the error: “Looks like the weather station isn’t reacting, try again.”

Could you help me to solve this issue?
Thanks in advance.
Regards.

Hi Marco,
I have reinstalled and reconfigured the AddOn and also rebooted the RS233-ETH converter… it works! Weather values from my station are displayed in HA :slightly_smiling_face:
Many thanks for this AddOn

Hello Marco,

Totally new to HAOS, just installed it today.

Will your integration work with the WeatherLink LIVE console as well, or only with the WeatherLink IP dongle? I have both, but trying to deprecate the IP dongle.

Also, are the fields Rain Storm Start and Rain Storm Duration available?

Thanks

Take a look at my reply a couple of comments back about the live console: New Add-on: Vantage Pro 2 MQTT (Deprecated) - #79 by mgosselink

The rain storm start and duration are not supported and will not be supported from this add-on as this add-on is deprecated. I will however see if I can add it to the Davis Vantage integration (which replaces the add-on). See 1st comment in this topic.

@TriLife
I’ve updated the Davis Vantage integration to v1.1.7 to include the Rain Storm and Rain Storm Start Date sensors.

Thanks Marco!

I’m looking forward to trying this out.

Hi Marco;

So, I installed your integration, but I get the following error, repeatedly:

“Looks like the weather station isn’t reacting, try again.”

.

Just to make sure, I have a Vantage Pro2 PLUS using the WeatherLink LIVE unit. I am entering :1111 as the IP address… also tried without port

I have an IPdongle as well. Tried it as well,

I have it showing online and LIVE on the WeatherLink App.

Thanks

I don’t own a WeatherLink Live myself. By the looks of it the WeatherLink Live doesn’t have a port that’s communicating on serial level. So this integration will not work for you.

Hi Marco,

Like I said, I have both, a LIVE and one with an IP dongle. Both are IP based, not serial. Neither do connect to your integration.

Is port 1111 (as shown in the instructions) the correct port, or was that just an example?

As an aside, using another home automation system, (universal devices), I only have to enter the IP address to get to the LIVE, where as the IP dongle Version requested me to go to the WeatherLink server and use an API key…

Thanks

Did you try port 22222?

Hi Marco,

So port 22222 worked on the IP Dongle. It still doesn’t work on LIVE.

But a direct connection to the Dongle is way better that via the WeatherLink server.

So we’ll keep it this way for now.

I’ll reach out to Davis and try to find out the differences between the two, which o suspect to be substantial.

Thanks!