General Discussion

A place to talk about whatever you want

159 Topics 1.6k Posts
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    3 Views
    No one has replied
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    6 Views
    No one has replied
  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    4 Views
    No one has replied
  • X-10 replacement for a new wall switch (HomeKit)

    Unsolved
    4
    0 Votes
    4 Posts
    187 Views

    This is like hearing the very last Blockbuster location is closing... I never imagined any X10 devices would have made it into the 2020s, much less a houseful of them! A hearty hello from a fellow X10 traveler who refuses to empty his two Tupperware tubs of old controllers, switches, receptacles, bridges, lamp/appliance modules, dimmers, contacts, remotes, extenders, sirens, alarms and myriad other 1980/1990's-era componentry. 🙂

  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    7 Views
    No one has replied
  • 0 Votes
    2 Posts
    133 Views

    @tamorgen I'm using webcal.guru, but not under MSR (and for Italy), but here's the calendar for US Federal Holidays:

    Aapo Puskala Free iCal calendars (Holidays, Moon phases, Sun etc) | WebCal.Guru Free iCal calendars (Holidays, Moon phases, Sun etc) | WebCal.Guru

    All calendar subscriptions from WebCal.Guru, including Holidays, Flag Days, Good to Know, Funny Holidays, Sports, Solar and Lunar events etc. Works with all calendar applications, including Mac, iOS, iPhone, iPad, Android, Windows etc.

    it's free and it's very reliable and I'm using it for the very same reason, and to drive my RGB outdoor lights based on the variable holidays.

  • Building a New Z Wave Network

    Unsolved
    12
    0 Votes
    12 Posts
    370 Views

    @toggledbits said in Building a New Z Wave Network:

    Still using MSR? I'd be happy to look at the Hass device in detail to see if we can do a per-devce exception to work around whatever issues you have. If it's an issue with Hass' integration, which happens sometimes, you can use MSR's ZWaveJSController to get even better access to devices that HA dumbs down too much or doesn't get right (Hass itself uses ZWave-JS, so you likely already have half of what you need running for MSR).

    Yes - I'm still using MSR! I should try to add the multisensor once more to HA and see how it works. Last time everything seemed alright, but it none of it's entitys changed state. I read on the HA users forum that there could be a workaround if some parameters were changed - but that didn't work in most cases - and not for me. When I've done the transfer, and if the problem persists, I'll start a new thread/topic. Thanks for your sincere kindness!
    /Fanan

  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    5 Views
    No one has replied
  • Help please cannot login to Debian / MSR box

    Solved
    7
    0 Votes
    7 Posts
    197 Views

    Wow I managed to actually fix something in Linux 🤣

    I moved the pam.d folder back into the root of the /etc folder and now I can login again in the regular terminal.

    WinSCP and Putty are working again also.

    No idea how that pam.d folder got moved I didn't do it to my knowledge.

  • interesting Development from Sigma Labs

    Unsolved
    4
    1 Votes
    4 Posts
    151 Views

    I just ordered one. Will report when it arrives and I make progress.

  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    17 Views
    No one has replied
  • RPI 4B 2GB Available in NL

    Unsolved
    2
    0 Votes
    2 Posts
    136 Views

    BerryBase in Germany is reported to have a pretty broad stock of Compute Module 4. The 2GB RAM + 8GB MMC are an OK base model for a Reactor host, and if you have the budget, more RAM (first priority, IMO) and bigger MMC is good for more capability (e.g. run more services) and longevity. You'd also need something like the RPi CM4 I/O Board to mount it on, but those are readily available and not too pricey. More discussion about the CM4 here.

  • Status of SMARTHOME and SwitchLinc products

    Unsolved
    1
    0 Votes
    1 Posts
    115 Views
    No one has replied
  • Smart door lock

    Unsolved
    7
    0 Votes
    7 Posts
    362 Views

    I'm still using quite a few Schlage BE469 units in several homes. There is a very specific process to follow during set up and you need to be sure you have the right secure Zwave devices or direct path to your controller. But once set up they work flawlessly and have been very reliable on Vera.

  • This topic is deleted!

    Unsolved
    1
    0 Votes
    1 Posts
    16 Views
    No one has replied
  • Lua - Code to encrypt / decrypt with AES 128 CBC

    Unsolved
    27
    0 Votes
    27 Posts
    3k Views

    Thanks @akbooer - you’re so right i cant believe i missed that, I’m supposed to decode, not encode ! Doh !!

    FYI - Here’s the source.. https://github.com/florianholzapfel/panasonic-viera/issues/9#issuecomment-476919658

    How did the rest look ? Here’s my Lua inline with the source.

    -- import binascii -- import base64 -- import hmac, hashlib -- from Crypto.Cipher import AES local bit = require("bit") local mime = require("mime") local binascii = require("binascii") -- # Example challenge (which is our IV) -- iv = base64.b64decode("mUQdS7/RyJTMsiojPz9i1Q==") local challenge_key = "iL9XqQOMfkFWz2rvh0Xm+w==" local challenge_Key_unb64 = mime.unb64(challenge_key) print (challenge_Key_unb64) -- # Get character codes from IV bytes -- iv_vals = [ord(c) for c in iv] -- # Initialise key character codes array -- key_vals = [0] * 16 -- # Derive key from IV -- i = 0 -- while i < 16: -- key_vals[i] = ~iv_vals[i + 3] & 0xFF -- key_vals[i + 1] = ~iv_vals[i + 2] & 0xFF -- key_vals[i + 2] = ~iv_vals[i + 1] & 0xFF -- key_vals[i + 3] = ~iv_vals[i] & 0xFF -- i += 4 -- # Convert our key character codes to bytes -- key = ''.join(chr(c) for c in key_vals) local challenge_Key_unb64 = "ˆ¿W©Œ~AVÏjï‡Eæû" local challengekey_vals = { challenge_Key_unb64:byte(1, -1) } local key_vals = {} for i = 1, 16, 4 do key_vals[ i ] = bit.band(bit.bnot(challengekey_vals[ i + 3 ]), 0xFF) key_vals[ i + 1 ] = bit.band(bit.bnot(challengekey_vals[ i + 2 ]), 0xFF) key_vals[ i + 2 ] = bit.band(bit.bnot(challengekey_vals[ i + 1 ]), 0xFF) key_vals[ i + 3 ] = bit.band(bit.bnot(challengekey_vals[ i ]), 0xFF) end local key = string.char(unpack(key_vals)) print(key) -- "V¨@w¾sü•0©ºx " -- # Initialise HMAC key mask (taken from libtvconnect.so) -- hmac_key_mask_vals = [ord(c) for c in binascii.unhexlify("15C95AC2B08AA7EB4E228F811E34D04FA54BA7DCAC9879FA8ACDA3FC244F3854")] -- # Initialise HMAC key character codes array -- hmac_vals = [0] * 32 -- # Calculate HMAC key using HMAC key mask and IV -- i = 0 -- while i < 32: -- hmac_vals[i] = hmac_key_mask_vals[i] ^ iv_vals[(i + 2) & 0xF] -- hmac_vals[i + 1] = hmac_key_mask_vals[i + 1] ^ iv_vals[(i + 3) & 0xF] -- hmac_vals[i + 2] = hmac_key_mask_vals[i + 2] ^ iv_vals[i & 0xF] -- hmac_vals[i + 3] = hmac_key_mask_vals[i + 3] ^ iv_vals[(i + 1) & 0xF] -- i += 4 -- # Convert our HMAC key character codes to bytes -- hmac_key = ''.join(chr(c) for c in hmac_vals) local challenge_Key_unb64 = "ˆ¿W©Œ~AVÏjï‡Eæû" local challengekey_vals = { challenge_Key_unb64:byte(1, -1) } local hmac_key_mask = binascii.unhexlify('15C95AC2B08AA7EB4E228F811E34D04FA54BA7DCAC9879FA8ACDA3FC244F3854') local hmac_key_mask_vals = { hmac_key_mask:byte(1, -1) } local hmac_vals = {} for i = 1, 32, 4 do hmac_vals[i] = bit.bxor(hmac_key_mask_vals[ i ], challengekey_vals[ bit.band(i + 1, 0xF) + 1 ]) hmac_vals[i+1] = bit.bxor(hmac_key_mask_vals[ i + 1 ], challengekey_vals[ bit.band(i + 2, 0xF) + 1 ]) hmac_vals[i+2] = bit.bxor(hmac_key_mask_vals[ i + 2 ], challengekey_vals[ bit.band(i - 1, 0xF) + 1 ]) hmac_vals[i+3] = bit.bxor(hmac_key_mask_vals[ i + 3 ], challengekey_vals[ bit.band(i, 0xF) + 1 ]) end local hmac_key = string.char(unpack(hmac_vals)) print(hmac_key) --"B`Ò}Îˤg$ÍÙNøÏWòâ/cÒÙzvà"õ3´¿"" -- # This is our plaintext SOAP argument for the pin code shown on the TV -- authinfo = "<X_PinCode>4410</X_PinCode>" -- # First 12 bytes are randomised, let's just set them to 0 because it doesn't matter -- payload = "000000000000" -- # The next 4 bytes contain the plaintext (SOAP arg) length in big endian -- n = len(authinfo) -- payload += chr(n >> 24) -- payload += chr((n >> 16) & 0xFF) -- payload += chr((n >> 8) & 0xFF) -- payload += chr(n & 0xFF) -- # Now we concatenate our payload, which is starting at byte 17 of the payload -- payload += authinfo local payload = '000000000000' -- First 12 bytes are randomised local pincode = "<X_PinCode>1234</X_PinCode>" -- Next 4 bytes are from the pincode prompted by the TV n = #pincode payload = payload .. string.char(bit.band(bit.rshift(n, 24), 0xFF)) payload = payload .. string.char(bit.band(bit.rshift(n, 16), 0xFF)) payload = payload .. string.char(bit.band(bit.rshift(n, 8), 0xFF)) payload = payload .. string.char(bit.band(n, 0xFF)) payload = payload .. pincode local iv = payload print(iv) -- "0000000000001234" -- # Let's encrypt it with AES-CBC! We need to make sure we pad it to a multiple of 16 bytes beforehand -- aes = AES.new(key, AES.MODE_CBC, iv) -- ciphertext = aes.encrypt(pad(payload)) -- # Calculate the HMAC-SHA-256 signature of our encrypted payload -- sig = hmac.new(hmac_key, ciphertext, hashlib.sha256).digest() -- # Concatenate the HMAC signature to the encrypted payload and base64 encode it, and we're done! -- encrypted_payload = base64.b64encode(ciphertext + sig)

    Still the AES/CBC bit to get working, but hopefully this is progress..

  • Seeking experts for implementing Modbus TCP

    Solved
    9
    0 Votes
    9 Posts
    512 Views

    OK, after trying a few solutions a finally ended up with Home Assistant as a Hyper-V guest on my Windows server.
    First I evaluated this by Emilv2 but it did not fit my needs and wasn't very stable.
    The best option by far was this for Huawei inverters, I even tweaked the polling frequency down to 10s to have "realtime" data matching my ESP8266 hooked up to my electricity meter sending data every 10s.
    Unfortunately HASS was not able to connect to openLuup broker so I enabled the HASS controller for MSR and echo the newly created sensors to openLuup.
    I then wrote a MQTT handler for openLuup to set appropriate variables and do some math comparing electricity use and production and edited Historian to keep those for Grafana.

    Been running it for almost 2 days now without any issues.

    Some of the HASS sensors:
    hass.PNG

    openLuup variables:
    solar.PNG

    Grafana: (sorry for Swedish)
    chart.PNG sum.PNG

    This was a fun project and thanks for pointing me in the right direction!

  • 0 Votes
    5 Posts
    302 Views

    @tunnus said in http relay activate with username and password authentication:

    @destination what if you just try that curl command from the command line (without os.execute)? Just to narrow down what is working and what's not.

    No luck

  • Vera Secure usage without mios

    Unsolved
    5
    0 Votes
    5 Posts
    344 Views

    @tunnus said in Vera Secure usage without mios:

    @destination A bit late now, but you haven't heard about decoupling? No need for Vera/Ezlo servers...

    I haven't heard about decoupling, Thank you, i will search about it.

Recent Topics