I’m going to need to move my controller to a different host and therefore will need to change the IP of the integration. Anyone know where in the backend HA stores that IP so I can change it since the integration doesn’t let you change the IP in the UI yet?
EDIT: Answered my question lol /config/.storage/core.config_entries
I already have zwavejs2mqtt running in a docker and it is setup to send both MQTT and websockets.
On my production HA Container System I have one test node device discovered via MQTT discovery and working like it has been for a few weeks now.
I just updated my test HA Container instance to V2021-2-1 and I installed the zwave JS integration.
The issue I’m having is that I’m not seeing any discovered websocket devices pop up in my test instance.
Should I be able to have multiple HA instances receive data from a single zwavejs2mqtt server over both MQTT and Websockets simultaneously?
I could do it in OZW Beta but it used MQTT exclusively. I didn’t think that should be a problem with zwavejas2mqtt either since the server is separated from HA.
this is somewhat confusing to me, and might need some further refinement…
As it stands , I use the core JS add-on, which asks for/installs the core JS integration. I use this on a separate/dedicated HA instance. On that same instance, I have the MQTT integration taking care of publishing (using mqtt state_stream) states to a Broker. Which as it happens is the core MQTT Add-on, on another (also dedicated) instance.
On my production system, I also have the Mqtt integration installed to be able to subscribe to these events, and send commands to my switches on the Zwave instance…
So, when you talk of Mqtt, one might need to be aware that too has an integration and add-on
What still puzzles me is the catch phrase we can now use this new JS package, to be able to have the Zwave network be independent of the HA instance. Since my Aeotec stick is on a dedicated Zwave instance, it is independent of my production system (has always been my architecture). Yet, every once in a while we need to reboot the host, and then the stick powers down. After startup, we can clearly see the devices and entities come back to life in the HA system, so still not being independent?
zwavejs2mqtt zwave controller interface<->zwavejs2mqtt mqtt client<->MQTT broker<->HA mqtt client<->HA system
zwavejs2mqtt zwave controller interface<->zwavejs2mqtt websocket server<->HA websocket client<->HA system
zwavejs add-on zwave controller interface<->zwavejs websocket server<->HA websocket client<->HA system
you seem to have added another layer onto your (overly complex?) system:
zwavejs add-on zwave controller interface<->zwavejs websocket server<->separate zwave js HA websocket client<->separate zwave js HA system<->separate zwave js HA mqtt client<->MQTT broker<->production HA mqtt client<->production HA system
Of course if you have tro reboot the host that is controlling all of these different HA instances and the zwave stick and the zwave js server then, of course the system can’t truly be called “independent”.
What is referred to as independent is that in the old way of zwave 1.4 the zwave controller interface was built-in to HA and therefore couldn’t be separated from HA at all. So every time the HA server was restarted (whether that was a server restart or a full host reboot makes no difference) the zwave network was also restarted and had to completely re-initialize.
Now, It doesn’t matter which HA instance of the myriad you have, unless you restart the zwave js server itself (the zwave js add-on) then the zwave system stays fully functional and your HA (whichever one that is) will connect to a fully function zwave instance as soon as it restarts.
Can someone also tell me about how to think about ZWave JS and ZWaveJS2MQTT?
My understanding is that the latter helps bring ZWAveJS to an MQTT server, so further separate my ZWave setup from HA.
Can I setup ZWave JS first (migrate all my devices), then later setup ZWaveJS2MQTT?
ha, it gets even worse I have an additional z-wave hub with a plethora of switches and sensors, in a stand alone setup (compare a Hue hub, with app et all)
Because I want to integrate those sensors/switches in HA I connect that zwave hub over mqtt to my centralized and dedicated broker and publish all state changes.
I can handpick the states for the production system, and take out as much processor load as possible like that.
Since unfortunately not all Zwave devices are supported on that hub, I have the dedicated Zwave HA instance setup to do exactly the same, publish those to the broker (and accept commands for the switches), and hand pick on the production system.
reason I split up early on, was because of things going wrong every once in a while. If my HA Zwave instance goes down, I can still control the household with the production system, same goes for the mqtt instance. If that goes down, I fail a lot of sensors, but the main logic and security system of the production system is still in order.
Or vice versa, if the production system crashes, or toasts its Sd card, at least all my mqtt and zwave configs are still alive and I can control them independently.
I do want to simplify the zwave setup if possible, by installing the zwavejs2mqtt add-on, and replace the JS integration and JS add-on I now have running. But I tend to prefer core software for these fundamental parts to the home automation… dilemma
I spent the afternoon moving over to Z-wave JS. After a few “re-interview” for some stubborn battery devices, most everything works better than OZW and a lot faster too.
Most everything. My Kwikset locks are a mess. Nothing works. The Control Panel says everything is there and the interview stage is complete. I can’t toggle them. The status is correct in the Z-Wave JS Control panel, but it never makes it over to HA.
Edit: if I watch zwave_js_event I can see events for locking/unlocking getting to HA, but they are not triggering the entities that (I assume) are supposed to match with them. I also get this in the Control Panel when I try to do something with the locks from HA “Driver: Door Lock: “currentMode” is not a supported property” - and it knocks the HA into a tailspin with Z-wave JS no longer working with any Z-wave device until I restart HA itself.
I’m running the Docker version of Z-wave JS released yesterday, 1.6.2, and I’m beginning to suspect something changed with how the handle locks… or something is just broken with them somewhere.
After upgrading to 2021.2.0, no zwave devices are available, and HA is is a permanent state of starting up.
After getting an advice, I removed the zwave part from configuration.yaml.
Now I get this is my supervisor log:
21-02-04 23:55:01 INFO (SyncWorker_6) [supervisor.docker.addon] Starting Docker add-on ghcr.io/hassio-addons/portainer/amd64 with version 1.4.0
21-02-04 23:55:01 ERROR (MainThread) [supervisor.addons.addon] Add-on core_zwave_js has invalid options: Missing required option 'device'. Got {'device': None, 'network_key': ''}
21-02-04 23:55:01 WARNING (MainThread) [supervisor.addons] Can't start Add-on core_zwave_js
Some of it makes sense, but I don’t understand the messages about zwave_js. I haven’t installed it, as far as I know. Could that be what’s causing me my problems?
Now, of course, the legacy zwave doesn’t work, but my other zwave, the OpenZWave, which I installed for testing purposes with a separate Aeotec stick, doesn’t work either. It communicates with mqtt, but HA doesn’t know anything about it.
See this about addressing the lack of coordination between the lock status notifications and the lock state in HA. I have 3 Kwikset locks that exhibit the behavior in that thread, but I don’t see the utter failure that you describe. I posted one of my automations that “fixes” the lock state based on the notification event here.
Well this new integration finally gave me the motivation to move my stick to a pi located a little more central in the house. Ended up implementing usbip for this. Thank you zwavejs peoples.