diff --git a/ibsystem/config.yaml b/ibsystem/config.yaml index 17ad40d..41e2e9f 100644 --- a/ibsystem/config.yaml +++ b/ibsystem/config.yaml @@ -35,7 +35,7 @@ # rs0_id1: "Centrala" # rs0_id2: "Salon" # rs0_id2_output_do_0: "Salon Glowne Swiatlo" - rs0_id35: Biuro/Garderoba + rs0_id35: "Biuro/Garderoba - ID35" rs0_id35_output_do_0: Oswietlenie BW1 rs0_id35_output_do_1: Oswietlenie BW2 rs0_id35_output_do_2: Oswietlenie G1 diff --git a/ibsystem/config.yaml b/ibsystem/config.yaml index 17ad40d..41e2e9f 100644 --- a/ibsystem/config.yaml +++ b/ibsystem/config.yaml @@ -35,7 +35,7 @@ # rs0_id1: "Centrala" # rs0_id2: "Salon" # rs0_id2_output_do_0: "Salon Glowne Swiatlo" - rs0_id35: Biuro/Garderoba + rs0_id35: "Biuro/Garderoba - ID35" rs0_id35_output_do_0: Oswietlenie BW1 rs0_id35_output_do_1: Oswietlenie BW2 rs0_id35_output_do_2: Oswietlenie G1 diff --git a/ibsystem/ibsystem2mqtt.yaml b/ibsystem/ibsystem2mqtt.yaml new file mode 100644 index 0000000..17ad40d --- /dev/null +++ b/ibsystem/ibsystem2mqtt.yaml @@ -0,0 +1,42 @@ +# IBSystem2MQTT - Konfiguracja +mqtt: + brokers: + - name: ha + host: 192.168.50.151 + port: 1883 + user: mqtt + password: mqtt123 + prefix: ibsystem + ha_prefix: homeassistant + +ibsystem: + host: 127.0.0.1 + port: 2001 + rs: 0 + max_ids: 40 + full_ids: [1] + timeout_ms: 10000 + +polling: + interval_sec: 2.0 + parallel_workers: 8 + +logging: + level: INFO + file: /var/log/ibsystem2mqtt.log + +http: + enabled: true + host: 0.0.0.0 + port: 8080 + +# Friendly names - mapowanie ID na nazwy +friendly_names: + # rs0_id1: "Centrala" + # rs0_id2: "Salon" + # rs0_id2_output_do_0: "Salon Glowne Swiatlo" + rs0_id35: Biuro/Garderoba + rs0_id35_output_do_0: Oswietlenie BW1 + rs0_id35_output_do_1: Oswietlenie BW2 + rs0_id35_output_do_2: Oswietlenie G1 + rs0_id35_output_do_3: Oswietlenie G2 led nad szafami diff --git a/ibsystem/config.yaml b/ibsystem/config.yaml index 17ad40d..41e2e9f 100644 --- a/ibsystem/config.yaml +++ b/ibsystem/config.yaml @@ -35,7 +35,7 @@ # rs0_id1: "Centrala" # rs0_id2: "Salon" # rs0_id2_output_do_0: "Salon Glowne Swiatlo" - rs0_id35: Biuro/Garderoba + rs0_id35: "Biuro/Garderoba - ID35" rs0_id35_output_do_0: Oswietlenie BW1 rs0_id35_output_do_1: Oswietlenie BW2 rs0_id35_output_do_2: Oswietlenie G1 diff --git a/ibsystem/ibsystem2mqtt.yaml b/ibsystem/ibsystem2mqtt.yaml new file mode 100644 index 0000000..17ad40d --- /dev/null +++ b/ibsystem/ibsystem2mqtt.yaml @@ -0,0 +1,42 @@ +# IBSystem2MQTT - Konfiguracja +mqtt: + brokers: + - name: ha + host: 192.168.50.151 + port: 1883 + user: mqtt + password: mqtt123 + prefix: ibsystem + ha_prefix: homeassistant + +ibsystem: + host: 127.0.0.1 + port: 2001 + rs: 0 + max_ids: 40 + full_ids: [1] + timeout_ms: 10000 + +polling: + interval_sec: 2.0 + parallel_workers: 8 + +logging: + level: INFO + file: /var/log/ibsystem2mqtt.log + +http: + enabled: true + host: 0.0.0.0 + port: 8080 + +# Friendly names - mapowanie ID na nazwy +friendly_names: + # rs0_id1: "Centrala" + # rs0_id2: "Salon" + # rs0_id2_output_do_0: "Salon Glowne Swiatlo" + rs0_id35: Biuro/Garderoba + rs0_id35_output_do_0: Oswietlenie BW1 + rs0_id35_output_do_1: Oswietlenie BW2 + rs0_id35_output_do_2: Oswietlenie G1 + rs0_id35_output_do_3: Oswietlenie G2 led nad szafami diff --git a/ibsystem/ibsystem2mqtt_v5.py b/ibsystem/ibsystem2mqtt_v5.py index 5793a66..6116122 100755 --- a/ibsystem/ibsystem2mqtt_v5.py +++ b/ibsystem/ibsystem2mqtt_v5.py @@ -192,7 +192,7 @@ def _publish_discovery(self, rec): if rec.unique_id in self.discovered: return component = rec.component; state_topic = self._state_topic(rec) - payload = {"name": self.friendly_names.get_entity_name(rec.rs, rec.id, rec.path), "state_topic": state_topic, "unique_id": rec.unique_id, "availability_topic": f"{self.mqtt_prefix}/bridge/availability", "device": {"identifiers": [rec.device_id], "name": self.friendly_names.get_device_name(rec.rs, rec.id), "manufacturer": "IBSystem"}} + payload = {"has_entity_name": False, "name": self.friendly_names.get_entity_name(rec.rs, rec.id, rec.path), "state_topic": state_topic, "unique_id": rec.unique_id, "availability_topic": f"{self.mqtt_prefix}/bridge/availability", "device": {"identifiers": [rec.device_id], "name": self.friendly_names.get_device_name(rec.rs, rec.id), "manufacturer": "IBSystem"}} if component == "switch": m = re.match(r"output\.do\.(\d+)$", rec.path) if m: payload.update({"command_topic": f"{self.mqtt_prefix}/rs{rec.rs}/id{rec.id}/set/do{m.group(1)}", "payload_on": "ON", "payload_off": "OFF", "state_on": "ON", "state_off": "OFF"}) diff --git a/ibsystem/config.yaml b/ibsystem/config.yaml index 17ad40d..41e2e9f 100644 --- a/ibsystem/config.yaml +++ b/ibsystem/config.yaml @@ -35,7 +35,7 @@ # rs0_id1: "Centrala" # rs0_id2: "Salon" # rs0_id2_output_do_0: "Salon Glowne Swiatlo" - rs0_id35: Biuro/Garderoba + rs0_id35: "Biuro/Garderoba - ID35" rs0_id35_output_do_0: Oswietlenie BW1 rs0_id35_output_do_1: Oswietlenie BW2 rs0_id35_output_do_2: Oswietlenie G1 diff --git a/ibsystem/ibsystem2mqtt.yaml b/ibsystem/ibsystem2mqtt.yaml new file mode 100644 index 0000000..17ad40d --- /dev/null +++ b/ibsystem/ibsystem2mqtt.yaml @@ -0,0 +1,42 @@ +# IBSystem2MQTT - Konfiguracja +mqtt: + brokers: + - name: ha + host: 192.168.50.151 + port: 1883 + user: mqtt + password: mqtt123 + prefix: ibsystem + ha_prefix: homeassistant + +ibsystem: + host: 127.0.0.1 + port: 2001 + rs: 0 + max_ids: 40 + full_ids: [1] + timeout_ms: 10000 + +polling: + interval_sec: 2.0 + parallel_workers: 8 + +logging: + level: INFO + file: /var/log/ibsystem2mqtt.log + +http: + enabled: true + host: 0.0.0.0 + port: 8080 + +# Friendly names - mapowanie ID na nazwy +friendly_names: + # rs0_id1: "Centrala" + # rs0_id2: "Salon" + # rs0_id2_output_do_0: "Salon Glowne Swiatlo" + rs0_id35: Biuro/Garderoba + rs0_id35_output_do_0: Oswietlenie BW1 + rs0_id35_output_do_1: Oswietlenie BW2 + rs0_id35_output_do_2: Oswietlenie G1 + rs0_id35_output_do_3: Oswietlenie G2 led nad szafami diff --git a/ibsystem/ibsystem2mqtt_v5.py b/ibsystem/ibsystem2mqtt_v5.py index 5793a66..6116122 100755 --- a/ibsystem/ibsystem2mqtt_v5.py +++ b/ibsystem/ibsystem2mqtt_v5.py @@ -192,7 +192,7 @@ def _publish_discovery(self, rec): if rec.unique_id in self.discovered: return component = rec.component; state_topic = self._state_topic(rec) - payload = {"name": self.friendly_names.get_entity_name(rec.rs, rec.id, rec.path), "state_topic": state_topic, "unique_id": rec.unique_id, "availability_topic": f"{self.mqtt_prefix}/bridge/availability", "device": {"identifiers": [rec.device_id], "name": self.friendly_names.get_device_name(rec.rs, rec.id), "manufacturer": "IBSystem"}} + payload = {"has_entity_name": False, "name": self.friendly_names.get_entity_name(rec.rs, rec.id, rec.path), "state_topic": state_topic, "unique_id": rec.unique_id, "availability_topic": f"{self.mqtt_prefix}/bridge/availability", "device": {"identifiers": [rec.device_id], "name": self.friendly_names.get_device_name(rec.rs, rec.id), "manufacturer": "IBSystem"}} if component == "switch": m = re.match(r"output\.do\.(\d+)$", rec.path) if m: payload.update({"command_topic": f"{self.mqtt_prefix}/rs{rec.rs}/id{rec.id}/set/do{m.group(1)}", "payload_on": "ON", "payload_off": "OFF", "state_on": "ON", "state_off": "OFF"}) diff --git a/ibsystem/id35_dashboard.yaml b/ibsystem/id35_dashboard.yaml index 6beb460..d9ce015 100644 --- a/ibsystem/id35_dashboard.yaml +++ b/ibsystem/id35_dashboard.yaml @@ -1,25 +1,33 @@ title: IBSystem ID35 views: - - title: Sterownik ID35 + - title: Biuro / Garderoba (ID35) path: id35 icon: mdi:lightbulb-group cards: - type: markdown content: | - ## Sterowanie oświetleniem - Biuro / Garderoba + ## Sterowanie oświetleniem - Biuro / Garderoba (ID35) - type: entities - title: "Wyjścia cyfrowe (MQTT)" + title: "Oświetlenie" entities: - entity: switch.ibsystem_rs0_id35_rs0_id35_output_do_0 + name: "Oświetlenie BW1" - entity: switch.ibsystem_rs0_id35_rs0_id35_output_do_1 + name: "Oświetlenie BW2" - entity: switch.ibsystem_rs0_id35_rs0_id35_output_do_2 + name: "Oświetlenie G1" - entity: switch.ibsystem_rs0_id35_rs0_id35_output_do_3 + name: "Oświetlenie G2 (led)" - type: entities - title: "Wejścia cyfrowe" + title: "Wejścia (przyciski/czujniki)" entities: - entity: binary_sensor.ibsystem_rs0_id35_rs0_id35_input_di_0_a + name: "DI.0.A" - entity: binary_sensor.ibsystem_rs0_id35_rs0_id35_input_di_0_b + name: "DI.0.B" - entity: binary_sensor.ibsystem_rs0_id35_rs0_id35_input_di_1_a + name: "DI.1.A" - entity: binary_sensor.ibsystem_rs0_id35_rs0_id35_input_di_1_b + name: "DI.1.B"