somfy_sdn 2.4.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ce1312b5758303a3565e861d79f1f0a0fb4cbce238405b56e6b644c930d05fd4
4
- data.tar.gz: b1b3fce4edc972acd8fd11c9a3ffd5cbcd2666a835ea65467aeb46d017d81920
3
+ metadata.gz: 9e1e1adfb127498d09f9df75ebcbe479aef58ee8412f4a9cb977d8b11e45b119
4
+ data.tar.gz: 140db72e519d25a12028f901f0287ee6a41fd7c6071f25df406fd115616883ab
5
5
  SHA512:
6
- metadata.gz: 72f289a280b71351c8391509f0423fbc3393116c1da282b33770b28a628cbedc986653ab6aa057a29bf93a90d3f18c7ca819ac6134fb04e0d15df8a66d2c148e
7
- data.tar.gz: af1a38f012980b98561f02d1df8c26183878a81bec0b61e4adf6164117500175cd35a1555cd1e33bd12766e6d7e8161beca7fceb23d24fa62ff84d1246b16935
6
+ metadata.gz: e42ed8ef8086f84247e70743e73f3d4f1dccc2a83e541d4f88bb2bb7d719f85ff16c95375de660e4398adc305517e76e43d766a9bf84de8f9247e32d1bc2fceb
7
+ data.tar.gz: 879ab6fc00ba20c2c0b0bc1946ab2760702c791fc458955b65cc2c27db4687ccb8d95d112aedce0953f10e2d7ba88f7e54d20998e89bbd3519c0230971a79b7c
data/lib/sdn/cli/mqtt.rb CHANGED
@@ -43,6 +43,12 @@ module SDN
43
43
  @mqtt.set_will("#{@base_topic}/$state", "lost", retain: true)
44
44
  @mqtt.connect
45
45
 
46
+ @availability = [{
47
+ topic: "#{@base_topic}/$state",
48
+ payload_available: "ready",
49
+ payload_not_available: "lost"
50
+ }.freeze].freeze
51
+
46
52
  @motors = {}
47
53
  @groups = {}
48
54
 
@@ -130,7 +136,8 @@ module SDN
130
136
  node_id: @device_id,
131
137
  object_id: "discover",
132
138
  unique_id: "#{@device_id}_discover",
133
- payload_press: "true")
139
+ payload_press: "true",
140
+ availability: @availability)
134
141
  end
135
142
 
136
143
  subscribe_all
@@ -229,7 +236,8 @@ module SDN
229
236
  node_id: node_id,
230
237
  object_id: "discover",
231
238
  payload_press: "true",
232
- unique_id: "#{node_id}_discover")
239
+ unique_id: "#{node_id}_discover",
240
+ availability: @availability)
233
241
  end
234
242
 
235
243
  if @homie
@@ -247,7 +255,8 @@ module SDN
247
255
  max: 16,
248
256
  name: "Label",
249
257
  node_id: node_id,
250
- unique_id: "#{node_id}_label")
258
+ unique_id: "#{node_id}_label",
259
+ availability: @availability)
251
260
  end
252
261
 
253
262
  if @homie
@@ -297,7 +306,8 @@ module SDN
297
306
  position_topic: "#{@base_topic}/#{addr}/position-percent",
298
307
  set_position_topic: "#{@base_topic}/#{addr}/position-percent/set",
299
308
  state_topic: "#{@base_topic}/#{addr}/hass-state",
300
- unique_id: "#{node_id}_motor")
309
+ unique_id: "#{node_id}_motor",
310
+ availability: @availability)
301
311
  {
302
312
  Wink: "mdi:emoticon-wink",
303
313
  Next_IP: "mdi:skip-next",
@@ -311,7 +321,8 @@ module SDN
311
321
  name: command.to_s.sub("_", " "),
312
322
  node_id: node_id,
313
323
  payload_press: command.to_s.downcase,
314
- unique_id: "#{node_id}_#{command.to_s.downcase}")
324
+ unique_id: "#{node_id}_#{command.to_s.downcase}",
325
+ availability: @availability)
315
326
  end
316
327
  end
317
328
 
@@ -336,7 +347,8 @@ module SDN
336
347
  state_topic: "#{@base_topic}/#{addr}/position-pulses",
337
348
  step: 10,
338
349
  unit_of_measurement: "pulses",
339
- unique_id: "#{node_id}_position-pulses")
350
+ unique_id: "#{node_id}_position-pulses",
351
+ availability: @availability)
340
352
  end
341
353
 
342
354
  if @homie
@@ -358,7 +370,8 @@ module SDN
358
370
  object_id: "ip",
359
371
  payload_reset: "",
360
372
  state_topic: "#{@base_topic}/#{addr}/ip",
361
- unique_id: "#{node_id}_ip")
373
+ unique_id: "#{node_id}_ip",
374
+ availability: @availability)
362
375
  end
363
376
 
364
377
  if @homie
@@ -382,7 +395,8 @@ module SDN
382
395
  state_topic: "#{@base_topic}/#{addr}/down-limit",
383
396
  step: 10,
384
397
  unit_of_measurement: "pulses",
385
- unique_id: "#{node_id}_down-limit")
398
+ unique_id: "#{node_id}_down-limit",
399
+ availability: @availability)
386
400
  end
387
401
 
388
402
  if @homie
@@ -410,7 +424,8 @@ module SDN
410
424
  name: "Reset #{key.to_s.sub("_", " ")}",
411
425
  node_id: node_id,
412
426
  payload_press: key,
413
- unique_id: "#{node_id}_#{key}")
427
+ unique_id: "#{node_id}_#{key}",
428
+ availability: @availability)
414
429
  end
415
430
  end
416
431
 
@@ -430,7 +445,8 @@ module SDN
430
445
  object_id: "last-action-source",
431
446
  options: Message::PostMotorStatus::SOURCE.keys,
432
447
  state_topic: "#{@base_topic}/#{addr}/last-action-source",
433
- unique_id: "#{node_id}_last-action-source")
448
+ unique_id: "#{node_id}_last-action-source",
449
+ availability: @availability)
434
450
  end
435
451
 
436
452
  if @homie
@@ -449,7 +465,8 @@ module SDN
449
465
  object_id: "last-action-cause",
450
466
  options: Message::PostMotorStatus::CAUSE.keys,
451
467
  state_topic: "#{@base_topic}/#{addr}/last-action-cause",
452
- unique_id: "#{node_id}_last-action-cause")
468
+ unique_id: "#{node_id}_last-action-cause",
469
+ availability: @availability)
453
470
  end
454
471
 
455
472
  if @homie
@@ -460,7 +477,7 @@ module SDN
460
477
  publish("#{addr}/up-limit/$settable", "true")
461
478
  end
462
479
 
463
- if @homie
480
+ if @home_assistant
464
481
  @mqtt.publish_hass_number("up-limit",
465
482
  command_topic: "#{@base_topic}/#{addr}/up-limit/set",
466
483
  device: hass_device,
@@ -474,7 +491,8 @@ module SDN
474
491
  state_topic: "#{@base_topic}/#{addr}/up-limit",
475
492
  step: 10,
476
493
  unit_of_measurement: "pulses",
477
- unique_id: "#{node_id}_up-limit")
494
+ unique_id: "#{node_id}_up-limit",
495
+ availability: @availability)
478
496
  end
479
497
 
480
498
  if @homie
@@ -484,7 +502,7 @@ module SDN
484
502
  publish("#{addr}/direction/$settable", "true")
485
503
  end
486
504
 
487
- if @homie
505
+ if @home_assistant
488
506
  @mqtt.publish_hass_select("direction",
489
507
  command_topic: "#{@base_topic}/#{addr}/direction/set",
490
508
  device: hass_device,
@@ -495,7 +513,8 @@ module SDN
495
513
  object_id: "direction",
496
514
  options: %w[standard reversed],
497
515
  state_topic: "#{@base_topic}/#{addr}/direction",
498
- unique_id: "#{node_id}_direction")
516
+ unique_id: "#{node_id}_direction",
517
+ availability: @availability)
499
518
  end
500
519
 
501
520
  if @homie
@@ -531,7 +550,8 @@ module SDN
531
550
  node_id: node_id,
532
551
  state_topic: "#{@base_topic}/#{addr}/#{speed_type.downcase}-speed",
533
552
  unit_of_measurement: "RPM",
534
- unique_id: "#{node_id}_#{speed_type.downcase}-speed")
553
+ unique_id: "#{node_id}_#{speed_type.downcase}-speed",
554
+ availability: @availability)
535
555
  end
536
556
  end
537
557
  end
@@ -566,7 +586,8 @@ module SDN
566
586
  state_topic: "#{@base_topic}/#{addr}/ip#{ip}-pulses",
567
587
  step: 10,
568
588
  unit_of_measurement: "pulses",
569
- unique_id: "#{node_id}_ip#{ip}-pulses")
589
+ unique_id: "#{node_id}_ip#{ip}-pulses",
590
+ availability: @availability)
570
591
  end
571
592
 
572
593
  if @homie
@@ -591,7 +612,8 @@ module SDN
591
612
  payload_reset: "",
592
613
  state_topic: "#{@base_topic}/#{addr}/ip#{ip}-percent",
593
614
  unit_of_measurement: "%",
594
- unique_id: "#{node_id}_ip#{ip}-percent")
615
+ unique_id: "#{node_id}_ip#{ip}-percent",
616
+ availability: @availability)
595
617
  end
596
618
 
597
619
  motor = Motor.new(self, addr, node_type)
@@ -686,7 +708,8 @@ module SDN
686
708
  node_id: node_id,
687
709
  object_id: "discover",
688
710
  payload_press: "discover",
689
- unique_id: "#{node_id}_discover")
711
+ unique_id: "#{node_id}_discover",
712
+ availability: @availability)
690
713
  end
691
714
 
692
715
  if @homie
@@ -712,7 +735,8 @@ module SDN
712
735
  position_topic: "#{@base_topic}/#{addr}/position-percent",
713
736
  set_position_topic: "#{@base_topic}/#{addr}/position-percent/set",
714
737
  state_topic: "#{@base_topic}/#{addr}/hass-state",
715
- unique_id: "#{node_id}_group")
738
+ unique_id: "#{node_id}_group",
739
+ availability: @availability)
716
740
  {
717
741
  Wink: "mdi:emoticon-wink",
718
742
  Next_IP: "mdi:skip-next",
@@ -726,7 +750,8 @@ module SDN
726
750
  name: command.to_s.sub("_", " "),
727
751
  node_id: node_id,
728
752
  payload_press: command.to_s.downcase,
729
- unique_id: "#{node_id}_#{command.to_s.downcase}")
753
+ unique_id: "#{node_id}_#{command.to_s.downcase}",
754
+ availability: @availability)
730
755
  end
731
756
  end
732
757
 
@@ -765,7 +790,8 @@ module SDN
765
790
  state_topic: "#{@base_topic}/#{addr}/position-pulses",
766
791
  step: 10,
767
792
  unit_of_measurement: "pulses",
768
- unique_id: "#{node_id}_position-pulses")
793
+ unique_id: "#{node_id}_position-pulses",
794
+ availability: @availability)
769
795
  end
770
796
 
771
797
  if @homie
@@ -792,7 +818,8 @@ module SDN
792
818
  object_id: "ip",
793
819
  payload_reset: "",
794
820
  state_topic: "#{@base_topic}/#{addr}/ip",
795
- unique_id: "#{node_id}_ip")
821
+ unique_id: "#{node_id}_ip",
822
+ availability: @availability)
796
823
  end
797
824
 
798
825
  if @homie
data/lib/sdn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SDN
4
- VERSION = "2.4.0"
4
+ VERSION = "2.4.1"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: somfy_sdn
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-04-02 00:00:00.000000000 Z
10
+ date: 2025-04-04 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ccutrer-serialport