Discussion Forum to share and further the development of home control and automation, independent of platforms.

    SmartHome Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Unsolved
    (Last Updated: 2 October 2021)
    • Separate switching bulb in one ceiling light

      P

      Hello guys,

      I would like to achieve two different things with lights, but I am not sure it could be done. I am starting with smart things, and I am far from any electrician knowledge, wo any help is really appreciated.

      I have dumb switches in my hall, controlled from 3 places. I understood that installing one smart module before first switch will make them "hybrid", both smart controlled and dumb controlled.

      I would like to buy ceiling light with two bulb sockets. What I would like to achieve is I would like to have one bulb for normal daily usage (lets say cold white full brightness), and second for night time (aprox from 10pm till morning) with some red/orange - minimum brightness.

      So question are:

      Is there a way to keep both bulbs turning-on separated? So only one will be on during day, and then only second during night?

      And could that be done with pressing dumb switch? What would I need to achieve it? (maybe another module into the ceiling lights)

      Thank you in advance

      General Discussion
    • ChatGPT - finally I can now retyre in piece and quite, knowing everting is in goof hands.

      A

      ChatGPT samples:

      Me:

      Tell me about an iot program called openLuup.

      It:

      OpenLuup is an open source home automation system that is built on the VeraLuup platform. It is designed to be easy to install and configure, and provides users with a powerful and versatile way to control their home automation devices. OpenLuup offers a wide range of features, including support for many popular home automation devices, scheduling, scripting, and integration with other services. OpenLuup is designed to be customizable, allowing users to create their own home automation systems. It is an excellent choice for those looking to create their own home automation system without spending a lot of money.

      Me:

      Write an iot program using openLuup.

      It:

      --openLuup IoT Program-- -- Initialize Variables -- local device_id = "MyHomeDevice" local temperature_sensor_id = "MyTemperatureSensor" local temperature_threshold = 75 -- Create Devices -- luup.create_device("OpenLuup Temperature Sensor", 0, device_id, "D_GenericSensor1.xml", "I_GenericSensor1.xml", "S_TemperatureSensor1.xml", "") luup.variable_set("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", 0, device_id) -- Start Timer -- luup.call_delay("check_temperature", 10, "", false) --Function to Check Temperature-- function check_temperature() local current_temperature = luup.variable_get(temperature_sensor_id, "CurrentTemperature", 0) --Check Temperature Threshold-- if current_temperature >= temperature_threshold then --Send Alert-- luup.call_action("urn:micasaverde-com:serviceId:HomeAutomationGateway1", "SendTextMessage", {PhoneNumber="1234567890", Message="ALERT! Temperature exceeded threshold!"}, 0) end --Reset Timer-- luup.call_delay("check_temperature", 10, "", false) end

      Me:

      Write an iot program using openLuup.

      It:

      Write an iot program using openLuup. -- openLuup IOT Program -- -- Variables local lampState = false local lampTime = 0 -- Functions function lampTimer() if lampTime > 0 then lampTime = lampTime - 1 if lampTime == 0 then luup.variable_set('urn:upnp-org:serviceId:SwitchPower1', 'Status', 0, lampDeviceID) lampState = false end end end -- Setup luup.call_delay('lampTimer', 60, 0) -- Main Loop while true do -- Check for motion if luup.variable_get('urn:micasaverde-com:serviceId:MotionSensor1', 'Tripped', motionSensorDeviceID) == '1' then if not lampState then luup.variable_set('urn:upnp-org:serviceId:SwitchPower1', 'Status', 1, lampDeviceID) lampState = true -- Set lamp timer to 5 minutes lampTime = 300 end end luup.sleep(1) end

      What??

      luup.sleep(1)

      Not good - looks like I still have some semblance of a job to fulfill.

      Me:

      An iot program called openLuup was written by akbooer. Who is akbooer?

      It: (note: answer redacted and as I understand it, also incorrect re: AltUI):

      akbooer is the pseudonym of the software developer and home automation enthusiast. He is the creator of the openLuup home automation software, which is an open-source version of the Vera home automation system. He is also the creator of the AltUI graphical user interface for openLuup.

      Me:

      Who created of the AltUI graphical user interface for openLuup.

      and

      Me:

      Who created of the AltUI graphical user interface for the home automation system Vera.

      Names two different people - mmmm.

      Regardless very impressive - give it a few more years.

      General Discussion
    • How to reset kwh

      B

      Aften some testing I watt to clear KWH how ?

      Regards Bjarne

      General Discussion
    • Short survey

      P

      Hi,
      I am a student and recently i am working on smart home project and writing a seminar paper about the way users handle and manage IoT devices. I you have 3 min, please fill below survey. Its really short.
      Thank you in advance, I really appreciate everyone's help.

      General Discussion
    • Need help in finding the right smart switch for my kitchen lights

      M

      Hello,
      I have a kitchen light that can be controlled by two switches, using either to turn it off or on. I have been slowly changing things over to be a smart home but this is the first switch I am attempting to install.
      I am in a double wide modular home (mobile) that was built in 1994.
      At first I thought I would need a 3 way switch but when taking the normal switches apart I realized that was incorrect because the wiring on my switches are different than anything I could find online.
      For one a 3 way smart switch requires 5 wires and there are only 2 wires going into the primary switch with 3 wires going into the secondary switch from the primary switch (at least I think the 3 wires connect the two switches together). Images will be attached of the wiring.
      There are two wires (one black and one white) going into the first switch and 3 wires (black, white, and red) going out of that and into the second switch (I assume). The odd thing is the red wire going to the second switch is connected to the white wire going into the first switch and the white wire going into the second switch seems to be a bridge wire or a traveler wire. Not exactly sure. You will see what I mean in the images.
      I need to know what kind of smart switch I can use in this set up with one remaining a normal switch.
      Note that for some reason the images got switched around when uploading them. The image with 2 wires on one side and 3 on the other is what I think is the primary and the image with just 3 wires is the secondary.
      Primary.jpg Secondary.jpg

      General Discussion
    • OT: Universal Remote

      CatmanV2

      You lot are more likely to have a view than most I know. Our much used Logitech Harmony is (not so) slowly dying.

      And Logitech have discontinued the entire line.

      And no one else appears to be making something similar.

      Was going for a Sofabaton X1, but no numeric keypad. Sofabaton U1, but no favourites.

      Anyone got suggestions?
      Needs to have those features, oh and not be only a phone app.....

      C

      General Discussion
    • The Home Automation Controller Pyramid

      rafale77

      Since one member asked at one point about the "front end" and "back end", I drew this showing the controller from the base to the tip along with what I have found to be the best options from my testing. Almost every controller will try to integrate all elements, especially commercial ones but... they all have strengths and weaknesses so if one can have a medley of the best ones...

      Screen Shot 2020-05-14 at 07.11.06.png

      General Discussion
    • Thread removed - why?

      Black Cat

      I was just going to add my support for a Update Button for the bare bones version of MSR and find the thread has been removed.
      I'm wondering what was so provocative that required it's removal?
      Have we become as paranoid as an owner of another forum?

      Anyway +1 for an Update Button.

      General Discussion
    • 3-way smart switches in separate buildings.

      D

      So, I think I'm in a bit of an unusual situation. I work at a camp & retreat center that has wifi throughout. I want to put a few switches in the office that can control outdoor lighting throughout the camp. We currently have switches in each of the buildings, but it is a particularly frustrating job to get all the lights on in the evening when it is brutally cold out or we are short staffed.

      Most of our staff is not very tech savvy (my boss literally has his wife print out his emails for him each day!!!) so, I'd love to avoid having to set up any sort of raspberry pi or new phone app.

      Is there type of 3-way switch that can connect to the wifi, turn on a light in another building AND turn on an indicator light in the office, without having any sort of wire running between the buildings? Hopefully looking for a simple solution without breaking the bank too.

      I greatly appreciate any input that you can give. Thank you!

      General Discussion
    For those who registered but didn't received the confirmation email, please send an email to support@smarthome.community with the email you used

    Unsolved Z-Wave Classes & Commands

    General Discussion
    5
    8
    260
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • parkerc
      parkerc last edited by parkerc

      Considering how long I’ve been using HA systems, where I was a relatively early adopter of z-wave, I’ve never really explored the Z-Wave Classes and Commands.

      Don’t get me wrong I understand (well at least I think I do) the overall objective and the design of the classes and the command, but my exposure to it has always been hidden behind a software/application layer.. No bad thing your might say, but the more I got to know the Lua language , the more I wanted to know more about the Z-wave Classes and Command - and how I could interact with them a little more directly.

      FYI - I’m still very much in the learning phase, and welcome any insight/advice from those more experienced than me.

      For this particular ‘How To’, I’m going to start off with a link to all the recorded z-wave classes and commands, this is a great place to see the length and breadth of what z-wave supports.

      https://www.silabs.com/documents/login/miscellaneous/SDS13548-List-of-defined-Z-Wave-Command-Classes.xlsx

      My first objective is to see if I can request a battery report from a device.. (Make sure your device support this class)

      To do that I need to look up the Commands_Class for Battery, and note down it’s associated value, which in this case is 0x80

      COMMAND_CLASS_BATTERY	0x80	Management	Active	
      

      After that, I then need to get the value associated with the specific command I want to send, which in this case is the Battery Get one from the following list..

      BATTERY_GET				0x02	controlling	supporting
      BATTERY_REPORT			0x03	supporting	controlling
      BATTERY_HEALTH_GET		0x04	controlling	supporting	 
      BATTERY_HEALTH_REPORT	0x05	supporting	controlling
      

      Those two looks up have now provided me with the following two item values …

      Battery Command Class = 0x80 
      BATTERY_HEALTH_GET Command = 0x04
      

      Next I need to send them to my Vera/Z-wave controller , specifying the z-wave ‘node’ I want to target (make sure it is the node number (alt.I’d, NOT the Device No.) , which in this case is node 3 (device no. 64) - using a command like the following....

      luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='3',Data='0x80 0x04'},1) 
      

      Or externally..

      http://192.168.1.10/port_3480/data_request?id=action&DeviceNum=1&serviceId=urn:micasaverde-com:serviceId:ZWaveNetwork1&action=SendData&Node=3&Data=0x80-0x04
      

      Any/all feedback welcome..

      1 Reply Last reply Reply Quote 0
      • toggledbits
        toggledbits last edited by toggledbits

        Very well constructed. A couple of details I'd point out:

        1. A subtle mistake users often make in this procedure is sending the SendData command to the device. It cannot be stressed enough that the SendData action is always and only sent to device #1, the ZWave Network device (i.e. the last parameter of call_action() for SendData is always 1). A lot of users will get the node ID parameter set correctly, construct the data string correctly, and then send the action to the device they want to control rather than the ZWave Network device #1, and then puzzle over why it doesn't work.
        2. The hex may be abbreviated, for example, x80 (the leading zero is not required), and any value may also be given in decimal form, and you can mix decimal and hex (e.g. x70 4 10 1 15 sets configuration parameter decimal 10 to the one-byte decimal value 15 on the target device).
        3. Many ZWave commands require multi-byte values. For example, to send a 16-bit integer (range 0-65535 unsigned or -32768 to 32767 signed), you must send two bytes. To send 4096, for example, you cannot just put 4096 or 0x1000 in your data string, as these are not valid byte values (which are 0-255/0x00-0xff range). If you look at the hex representation of 4096 -- 0x1000 -- you see four hexadecimal digits; split them into pairs and send them like this: 0x00 0x10. Notice the order of the two bytes has been reversed. This is referred to as little endian in network communications: the least significant byte is sent first, followed by progressively more significant bytes. A four-byte (32 bit) value, for example 0x12345678, would be sent as 0x78 0x65 0x34 0x12. Notice that the order of bytes is reversed, but within the bytes, there is no reversal of bits (that is 0x78 does not become 0x87). If the command you are using requires a byte count, remember to account for this splitting in your number of bytes (the 0x1000 example adds 2 to the length of the command because it takes two bytes to represent the one 16-bit number). Always send leading zeroes to get the expected number of bytes: if a 16-bit integer is expected for the command and you need to send 0, you must send 0 0 or 0x00 0x00.
        4. There is no easy way on Vera to intercept any data that may be a reply to the request/command. If you issue a command that replies with a packet that Luup does not understand, it will be logged but not otherwise handled, or available. This is a big short-coming of Vera in terms of allowing third-party support of ZWave devices. Hubitat, for example, has solved this problem, and third party ZWave device drivers are quite common, and not difficult to use, write or support.
        5. There is no way that I am aware of to do this on eZLO hubs with current firmware (there is no documented equivalent to SendData). I have pointed this out; the reply thus far has been deafening silence, not even so much as an acknowledgement that it may be added to a list for future consideration..

        Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

        A 1 Reply Last reply Reply Quote 0
        • A
          a-lurker @toggledbits last edited by

          All a bit tricky. The OpenZWave people spent ages reverse engineering the protocol. The logViewer plugin I wrote - it's for Vera/OpenWRT only - was subsequently augmented by @gengen. Putting the logging into verbose mode invokes his "ZShark". It allows a good view of the ZWave interchanges. Definitely don't leave your Vera in the logging verbose mode fo any length of time.

          1 Reply Last reply Reply Quote 0
          • therealdb
            therealdb last edited by

            I have a Qubino ZMNHBD1 that I'm trying to reconfigure without messing with device numbers, but it's not really working.

            I'm sending param 13 2-byte device to 0, but it doesn't seem to work (this will disable auto-off after 1 sec, since in 7.32 beta there's a bug preventing auto-off from being updated, so I've repurposed all my devices doing this, attaching external relays, or using Shellies).

            luup.call_action("urn:micasaverde-com:serviceId:ZWaveNetwork1", "SendData",
                { Node='128', Data= "x70 4 13 2 0"}, 1 )
            

            Any hints? Device is set to auto configure to off. Next step is to remove, reset the device and pair again, but I'd like to try this route first.

            --
            On a mission to automate everything.

            My MS Reactor contrib
            My Luup Plug-ins

            1 Reply Last reply Reply Quote 0
            • toggledbits
              toggledbits last edited by toggledbits

              The first thing that stands out is latter part of my point #3 above: you are saying in the codes that parameter 13 is coming with a 2-byte value, but you are only sending one byte after the count. Try sending x70 4 13 2 0 0 so that you are sending the upper and lower bytes of the two-byte value. Remember that SendData sends bytes, not values. It's up to you to "decompose" your values into the correct number and sequence of bytes that represents the value.

              One thing I also forgot to mention in my missive above for Vera in particular, is that the refresh and data validity around the "Device Options" in the UI is almost non-existent, and the values shown are often wrong. You have to do the following in order to see correct values:

              1. Set to monitor only any parameter in Device Options that you intend to control via SendData. If you don't do this, every Luup restart will reconfigure the device and clobber your values, and all you will ever see is what Luup wants to set or has set.
              2. Some users turn off auto-reconfigure, and it is often recommended quite casually in the other forums. IMO, this is probably the worst advice I see being given in that community today, at least when given casually. It should only be used as a last resort for devices that errantly destroy and create children and wreak havoc with your device numbering, scenes and automations. But in any case, if you turn it off, the UI will never show you correct Device Option parameter values. Because...
              3. When inspecting values, the device must be reconfigured in order for the value to be picked up by Device Options, as during ZWave startup is the only time Luup sets or fetches these values. So if you are looking at the Device Options UI after a SendData, it will be wrong, and even after a hard refresh, it will be wrong (relative to your expectations), unless and until you reload Luup, or, reconfigure the device. Sometimes, you can get away with hitting "Configure Now", but I find that sometimes, for reasons I fear I will ever understand, attempting to just say "Configure Now" fails when configuration during a Luup reload works, an inexplicable dilemma (they should be one and the same function and work identically). And after either reload or "Configure Now", you must hard-refresh your browser, because the UI does not see changes in the state variables they use for these values reliably.

              Also keep in mind that some devices will not keep the value you send, they will only act on it. For example, some of my Aeotec devices will reset their parameters to factory default if you set the value of a parameter to 255. When looking at the value, it is always reported as 0, never as 255, even though it gets the value when sent and does in fact reset itself as directed. Likewise my siren will accept the number of a melody to play in a parameter, but that parameter always reports as 0, even after playing melody 1, 10, 77, ....

              Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

              therealdb 1 Reply Last reply Reply Quote 1
              • therealdb
                therealdb @toggledbits last edited by

                @toggledbits said in Z-Wave Classes & Commands:

                Try sending x70 4 13 2 0 0 s

                that did the trick. I really didn't paid attention to this detail. it works this way, in fact. I'm not really monitoring the params, but I know the relay will not do a second click after 1 sec after sending on, so I'm know it's working well. I'm not messing so much with parameters these days, since the system is almost stable and I've added many new devices (I still have 3-4 added but not already deployed, but that's another story). Thanks, as always!

                --
                On a mission to automate everything.

                My MS Reactor contrib
                My Luup Plug-ins

                1 Reply Last reply Reply Quote 1
                • Black Cat
                  Black Cat last edited by Black Cat

                  @toggledbits Would it be possible to add a function to MSR that returns the parameters of a Z-Wave device?

                  Vera comes close but you need to know the parameter to be able to find the setting of it, punching in 254 values one at a time is very laborious and time consuming, especially if you find that there are no further parameters......FWIW .Homeseer doesn't have this ability at all, perhaps someone can comment of HASS or other HA platforms in use?
                  Some will question why do you need to do this?
                  Apart from discovering any unknown parameters just because they are there, Z-Wave device manufacturers do not publish all parameters that are used in a device - generally because they have been added after the device has been certified and publishing it renders Certification void.
                  Would it be useful? Yes, as an example a Device we had in a Z-Wave net didn't behave as expected. An email exchange between the manufacturer divulged a "hidden parameter" which when switched on caused the device to behave correctly. If we had known that there was an extra Parameter then we would have tested it to find out what it did. It may or may not have worked but we would have had the opportunity to try it beforehand.
                  Anyway, it's useful to know when engaging with manufacturers, it gives you the upper hand......

                  aka Zedrally

                  1 Reply Last reply Reply Quote 0
                  • toggledbits
                    toggledbits last edited by

                    At this stage, probably not, just for the lack of consistency. The issues:

                    1. Vera, we know, keeps the data in state variables, and we get what we get. You can get that today -- just look at the attribute on the entity in MSR and see as much information as it could publish. On a Vera ZWave device, look for x_vera_svc_micasaverde_com_ZWaveDevice1.VariablesGet.
                    2. On Hass, not only does the API not tell you what integration drives an entity, but even if you forced that association by declaring the ZWave service, the service itself doesn't publish any attributes/data from the integration through the API. So the configuration variables aren't visible at all. Nor is the device's manufacturer info, model number, or even its ZWave node ID. Mind you, Hass has all of this information, it must in order to function, it just doesn't publish any of it through its APIs.
                    3. On Hubitat, pretty much the same story as Hass: the API doesn't tell you what driver supplies the device, so you don't even know it's ZWave, and there's no data available attached to the device that's published through the API related to ZWave, anyway.
                    4. On eZLO, they do identify the device by its parent "protocol" (zwave), and give you the ZWave node ID and a couple of flags, but no other useful information that I've seen. There aren't even API commands available for single-node things like poll a node or set a config value, only network-wide commands for things like start/stop inclusion or reset the Zwave chip and delete the entire network (i.e. not things you usually want to do in an automation). Since I'm probably the only person who cares if those other things exist and I'm persona non grata over there, they're probably not getting done any time soon, whether I report them or not. I haven't used any devices on my eZLO system that have configuration parameters, so I can't tell if or how it publishes those. If someone has included on their eZLO system a device that normally uses configuration parameters, like an Aeotec Multisensor, etc., please send me via PM your logs/ezlo_data_list.json file. I'd love to see if it has anything.

                    Very low on my priorities (particularly with the big changes to the core/Engine of late) has been direct integration with ZWave-JS. That would expose all the right information, I'm sure. But that's really no small task, and in essence, transforms MSR from an automation tool into the realm of being a hub itself. Maybe that's not bad.

                    Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Welcome. If you’d like to participate in the discussion, rather than just read, then you can join the forum. As a member, you can interact with others here to share your experience and ask the questions you need answered.

                    Powered by NodeBB | Contributors
                    Hosted freely by PointPub Media Communications Inc. | Contact us