Explorar o código

Merge pull request 'feat/MultisyncX401S' (#1) from timo/netz39-ir-blaster:feat/MultisyncX401S into main

Reviewed-on: https://git.n39.eu/teuserer/netz39-ir-blaster/pulls/1
timo hai 8 meses
pai
achega
4464b618df
Modificáronse 3 ficheiros con 121 adicións e 3 borrados
  1. 13 1
      README.md
  2. 95 2
      config.yaml
  3. 13 0
      scripts/crack_MultisyncX401S_4digit_PIN.py

+ 13 - 1
README.md

@@ -37,4 +37,16 @@ http://ir-blaster.n39.eu
   * OK (0x2FD847B)
   * Lauter (0x2FD58A7)
   * Leiser (0x2FD7887)
-  * On/Off (0x2FD48B7)
+  * On/Off (0x2FD48B7)
+
+## Multisync X401S
+  * Taste 0
+  * Taste 1
+  * Taste 2
+  * Taste 3
+  * Taste 4
+  * Taste 5
+  * Taste 6
+  * Taste 7
+  * Taste 8
+  * Taste 9

+ 95 - 2
config.yaml

@@ -57,12 +57,105 @@ button:
     on_press:
       - remote_transmitter.transmit_pronto:
           data: "0000 006D 0018 0000 002E 0013 002E 0013 000E 0034 002D 0013 002E 0013 000E 0034 000D 0034 000D 0034 000D 0034 000D 0034 000D 0034 002E 0117 002E 0013 002E 0013 000E 0034 002E 0013 002E 0013 000E 0034 000D 0034 000D 0034 000D 0034 000D 0034 000D 0034 002E 0181 06C3"
- 
+  - platform: template
+    name: "MultisyncX401S Taste 0"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7910, -4019, 448, -546, 449, -545, 448, -1540, 448, -545, 449, -1540, 448, -1540, 449, -1540, 453, -1534, 448, -4030, 456, -537, 451, -1536, 450, -545, 449, -545, 450, -1538, 449, -547, 447, -546, 448, -545, 450]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 1"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7903, -4024, 453, -542, 450, -521, 470, -1545, 443, -547, 448, -1538, 450, -1539, 449, -1543, 445, -1539, 448, -4030, 447, -551, 444, -544, 449, -545, 449, -1541, 447, -547, 447, -547, 447, -545, 449, -546, 451]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 2"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7901, -4024, 454, -546, 445, -543, 449, -1539, 449, -527, 469, -1537, 451, -1538, 448, -1545, 443, -1542, 445, -4029, 448, -1540, 448, -546, 449, -544, 450, -1539, 453, -541, 451, -542, 449, -546, 450, -543, 450]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 3"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7957, -3970, 502, -493, 501, -493, 502, -1491, 500, -494, 497, -1491, 496, -1487, 501, -1486, 511, -1477, 500, -3977, 501, -493, 502, -1487, 503, -490, 501, -1487, 501, -494, 500, -492, 502, -493, 501, -493, 501]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 4"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7905, -4023, 475, -522, 445, -547, 447, -1540, 448, -546, 448, -1541, 447, -1541, 472, -1516, 472, -1518, 445, -4028, 449, -1540, 474, -1514, 448, -546, 448, -1545, 469, -520, 476, -517, 449, -546, 448, -546, 472]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 5"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7901, -4021, 473, -520, 449, -545, 474, -1514, 449, -546, 451, -1537, 453, -1534, 454, -1535, 448, -1540, 448, -4028, 449, -546, 448, -545, 449, -1539, 449, -1539, 449, -545, 449, -545, 449, -546, 448, -545, 449]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 6"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7903, -4024, 450, -544, 449, -544, 477, -1512, 451, -545, 473, -1513, 449, -1538, 451, -1538, 450, -1538, 449, -4027, 451, -1538, 449, -545, 452, -1536, 472, -1515, 449, -546, 455, -538, 449, -545, 450, -545, 450]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 7"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7903, -4024, 448, -546, 448, -549, 446, -1543, 444, -546, 448, -1540, 448, -1540, 448, -1543, 451, -1538, 444, -4028, 449, -545, 453, -1541, 444, -1539, 448, -1541, 447, -531, 463, -546, 448, -545, 449, -546, 453]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 8"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7904, -4024, 448, -546, 449, -547, 446, -1539, 449, -546, 448, -1544, 446, -1539, 447, -1540, 449, -1540, 447, -4031, 450, -1540, 444, -1540, 448, -1539, 449, -1540, 448, -547, 447, -547, 448, -544, 449, -545, 449]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+  - platform: template
+    name: "MultisyncX401S Taste 9"
+    on_press:
+      - remote_transmitter.transmit_raw:
+          code: [7904, -4024, 449, -545, 448, -545, 450, -1540, 447, -546, 449, -1539, 448, -1547, 442, -1539, 448, -1540, 526, -3951, 448, -546, 448, -548, 446, -545, 449, -546, 448, -1541, 449, -547, 445, -549, 445, -545, 450]
+          repeat:
+            times: 5
+            wait_time: 16ms
+          carrier_frequency: 38kHz
+
+
 remote_receiver:
   pin: 
     number: GPIO2
     inverted: True
+    mode: INPUT_PULLUP
   dump: all
+# Change to dump: all to see all protocols, use dump: raw to see raw codes
 
 remote_transmitter:
   pin: GPIO04
@@ -75,4 +168,4 @@ sensor:
     name: Uptime Sensor
   - platform: wifi_signal
     name: "WiFi Signal Sensor"
-    update_interval: 60s
+    update_interval: 60s

+ 13 - 0
scripts/crack_MultisyncX401S_4digit_PIN.py

@@ -0,0 +1,13 @@
+import requests
+import time
+from tqdm import tqdm
+
+url = "http://ir-blaster.n39.eu/button/multisyncx401s_taste_%s/press"
+
+for i in tqdm(range(0000, 10000)):
+    num_str = f"{i:04d}"
+    print(f"Sending: {num_str}")
+    for digit in num_str:
+        requests.post(url % digit)
+        time.sleep(0.35)
+    time.sleep(0.35)