Σύστημα συναγερμού 8 ζωνών μέσα στον ασφαλειοπίνακα
Περίληψη
1) 8 ζώνες
Ζώνες εισόδου του συναγερμού
- Ζώνη 1 : παιδικο – r.pi gpio 16 pin 36
- Ζώνη 2 : κουζινα – r.pi gpio 17 pin 11
- Ζώνη 3 : διαδρομος – r.pi gpio 18 pin 12
- Ζώνη 4 : υπνοδωματιο – r.pi gpio 27 pin 13
- Ζώνη 5 : μπανιο – r.pi gpio 22 pin 15
- Ζώνη 6 : σαλονι – r.pi gpio 23 pin 16
- Ζώνη 7: pyrasfaleia – r.pi gpio 24 pin 18
- Ζώνη 8: garaz - r.pi gpio 25 pin 22
- Ζώνη 9: είσοδος - r.pi gpio 21 pin 40
το οποίο θα ενεργοποιεί το συναγερμό μέσω τηλεκοντρόλ και θα μπορεί το openhab με ένα ρελέ να τον απενεργοποιεί
5) Η πλακέτα με τους 8 ρελέδες που θα ελέγχονται από το i2c θα ελέγχει τα εξής:
- ενεργοποίηση του τηλεκοντρολ Relay : 1
- τροφοδοσία ραντάρ και arduino με 12 βολτ Relay : 2 -- r.pi pin 38
- άνοιγμα κυπρί της πόρτας εισόδου Relay : 3 – r.pi pin 29
- ελεγχος του σκύλου Relay : 4 -- r.pi pin 32
- έλεγχος σειρήνας πανικού Relay : 5 – r.pi pin 37
- έλεγχος εξωτερικής σειρήνας Relay : 6 – r.pi pin 35
- έλεγχο strobo της light εξωτερικής σειρήνας Relay : 7 – r.pipin33
- Αυτόματος τηλεφωνητής Relay : 8 – r.pipin 31
6) Η ειδική πλακέτα του συναγερμού θα περιλαμβάνει
κλέμες για σύνδεση
της μαγνητικής επαφής για την πόρτα εισόδου
για το Ραντάρ πόρτας εισόδου
μπουτόν πανικού
μπουτόν σιωπηλού συναγερμού
μπουτόν ολικής όπλισης
Τάμπερ γενικό
24ωρη φωτιάς
Συνολικά 7 απο τα 15 gpio Που προορίζονται για είσοδο δεδομένων
επιπλέον έχει σύνδεση μπαταρίας γιατί διαθέτει φορτιστή μπαταρίας μολύβδου.
εξοδο για τροφοδότηση με 5 βολτ για το Raspberry
ενδειξη χαλασμένης μπαταρίας
είσοδο 12 βολτ AC
εξόδους για τα 16 ρελέ των 2 πλακετών
σύνδεση αισθητηρίου θερμοκρασίας για τον θερμοσίφωνα
διαθέτει και buzzer για την προσομείωση του χρόνου εισόδου εξόδου
Hardware
Απαραίτητα υλικά
ειδική πλακέτα με κλέμες σύνδεσης περιφερειακών
Ραντάρ εσωτερικού χώρου
Εσωτερική σειρήνα πανικού
Εξωτερική σειρήνα
Μαγνητικές επαφές
Αυτόματος τηλεφωνητής
magnetic switch μαγνητικές επαφές
Μπαταρία 12V 7,2 AH
Μπαταρία 12V 3 AH
Βήματα υλοποίησης
Βήμα 1ο
Τοποθετούμε το raspberry στον ασφαλειοπίνακα όπως έχουμε πει στο άρθρο
Βήμα 2ο
Τοποθετούμε το raspbery πάνω στην ειδική πλακέτα του συναγερμού
Βήμα 3ο
Κάνουμε τις εξής ρυθμίσεις και συνδέσεις
Software Raspberry
έχει αναλυθεί στο άρθρο του ασφαλειοπίνακα
Openhab
Ενημερώνουμε αρχείο με τα items για όσους έχουν βάλει το openhab 2 που την εκτέλεση python αρχείων την κάνει μέσω των things άρα επιβάλετε η εντολή channel
Group alarm "Συναγερμός" <siren>
Switch total_events_alarm "Ενεργό συμβάν" (alarm)
Switch sf_enable_alarm "Ολική ενεργοποίηση συναγερμού" (alarm)
Switch sf_partial_enable_alarm "Μερική ενεργοποίηση συναγερμού" (alarm)
Group alarm_zones "Ζώνες δωματίων" (alarm)
Switch sf_alarm_zone_one "Ζώνη παιδικού" (alarm_zones)
Switch sf_alarm_zone_two "ζώνη κουζίνας" (alarm_zones)
Switch sf_alarm_zone_three "Ζώνη διαδρόμου" (alarm_zones)
Switch sf_alarm_zone_four "Ζώνη υπνοδωματίου" (alarm_zones)
Switch sf_alarm_zone_five "Ζώνη μπάνιου" (alarm_zones)
Switch sf_alarm_zone_six "Ζώνη σαλονιού" (alarm_zones)
Switch sf_alarm_zone_seven "Ζώνη πυρασφάλειας" (alarm_zones)
Switch sf_alarm_zone_eight "Ζώνη γκαράζ" (alarm_zones)
Switch sf_alarm_zone_nine "Ζώνη εισόδου" (alarm_zones)
Switch reset_zones_switch "reset ζωνών" (alarm_zones)
Switch enable_zones_switch "ενεργοποίηση ζωνών" (alarm_zones)
Group memory_alarm_events "μνήμη συμβάντων" (alarm)
Switch rooms_events_switch "Ενεργό συμβάν σε δωμάτιο" (memory_alarm_events)
Switch rooms_fire_events_switch "Ενεργό συμβάν φωτιάς" (memory_alarm_events)
Switch rooms_inputs_events_switch "Ενεργό συμβάν στην είσοδο" (memory_alarm_events)
Group alarm_events "Συμβάντα δωματίων" (memory_alarm_events)
DateTime event_alarm_date "Ημερομηνία alarm [%1$tA, %1$td/%1$tm, %1$tI:%1$tM %1$tp]" (alarm_events)
Switch sf_event_alarm_zone_one "alarm παιδικού" (alarm_events)
Switch sf_event_alarm_zone_two "alarm κουζίνας" (alarm_events)
Switch sf_event_alarm_zone_three "alarm διαδρόμου" (alarm_events)
Switch sf_event_alarm_zone_four "alarm υπνοδωματίου" (alarm_events)
Switch sf_event_alarm_zone_five "alarm μπάνιου" (alarm_events)
Switch sf_event_alarm_zone_six "alarm σαλονιού" (alarm_events)
Switch sf_event_alarm_zone_eight "alarm γκαράζ" (alarm_events)
Switch sf_event_alarm_zone_nine "alarm εισόδου" (alarm_events)
Switch reset_events_switch "reset events" (alarm_events)
Group fire_events "Συμβάντα πυρασφάλειας" (memory_alarm_events)
DateTime event_fire_alarm_date "Ημερομηνία alarm [%1$tA, %1$td/%1$tm, %1$tI:%1$tM %1$tp]" (fire_events)
Switch sf_event_fire_zone_one "πυρανίχνευση παιδικού" (fire_events)
Switch sf_event_fire_zone_two "πυρανίχνευση κουζίνας" (fire_events)
Switch sf_event_fire_zone_three "πυρανίχνευση διαδρόμου" (fire_events)
Switch sf_event_fire_zone_four "πυρανίχνευση υπνοδωματίου" (fire_events)
Switch sf_event_fire_zone_five "πυρανίχνευση μπάνιου" (fire_events)
Switch sf_event_fire_zone_six "πυρανίχνευση σαλονιού" (fire_events)
Switch sf_event_fire_zone_eight "πυρανίχνευση γκαράζ" (fire_events)
Switch sf_event_fire_zone_nine "πυρανίχνευση εισόδου" (fire_events)
Switch sf_events_reset_fire_zones "reset fire zones" (fire_events)
Group inputs_events "Συμβάντα στην είσοδο" (memory_alarm_events)
DateTime event_inputs_alarm_date "Ημερομηνία alarm [%1$tA, %1$td/%1$tm, %1$tI:%1$tM %1$tp]" (inputs_events)
Switch sf_event_alarm_inputs_port "alarm πόρτας" (inputs_events)
Switch sf_event_alarm_inputs_radar "alarm ραντάρ" (inputs_events)
Switch sf_event_alarm_inputs_panic "alarm πανικού" (inputs_events)
Switch sf_event_alarm_inputs_tamper "alarm tamper" (inputs_events)
Group alarm_test "Δοκιμή συσκευών" (alarm)
Switch sf_call_center "Τηλεφωνητής" (alarm_test) ["Switchable"] { channel="mcp23017:mcp23017:chipA:output#A0" }
Switch sf_safekeeping_dog "Ηλεκτρονικός φύλακας" (alarm_test) ["Switchable"] { channel="exec:command:safe_dog:run" }
Switch sf_alarm_test_inside_siren "εσωτερική σειρήνα" (alarm_test) ["Switchable"] { channel="mcp23017:mcp23017:chipA:output#A4" }
Switch sf_alarm_test_outside_siren "εξωτερική σειρήνα" (alarm_test) ["Switchable"] { channel="mcp23017:mcp23017:chipA:output#A1" }
Switch sf_alarm_test_strobe_siren "strobe σειρήνας" (alarm_test) ["Switchable"] { channel="mcp23017:mcp23017:chipA:output#A2" }
Switch timer_enable_alarm "χρόνος ολικής όπλισης" (alarm_test) { expire="10s,command=OFF" }
Group alarm_check "έλεγχος ζωνών εισόδου"<siren> (alarm)
DateTime zones_alarm_date "Ημερομηνία alarm [%1$tA, %1$td/%1$tm, %1$tI:%1$tM %1$tp]" (alarm_check)
Group inputs "επαφές εισόδου" (alarm_check)
String front_door_reed_switch_pin "πιν επαφής εισόδου [%s]" { channel="exec:command:front_door_pin:output" }
Contact front_door_contact "κεντρική πόρτα εισόδου [MAP(en.map):%s]" (inputs)
Switch front_door_reed_status "led της κεντρικής πόρτας" (alarm_check)
Switch front_door_sound_enable "ενεργοποίηση ήχου πόρτας" (alarm_check)
Switch front_door_sound_status "ηχοσήμανση κεντρικής πόρτας" { channel="exec:command:sound_front_door:run" }
String front_door_pir_pin "πιν ραντάρ εισόδου [%s]" { channel="exec:command:front_pir_pin:output" }
Contact front_door_pir_contact "ραντάρ εισόδου [MAP(en.map):%s]" (inputs)
Switch front_door_pir_status "led ραντάρ εισόδου" (alarm_check)
String button_panic_pin "πιν μπουτόν πανικού [%s]" { channel="exec:command:panic_pin:output" }
Contact button_panic_contact "μπουτόν πανικού [MAP(en.map):%s]" (inputs)
Switch button_panic_switch "led του μπουτόν πανικού" (alarm_check)
String tamper_pin "τάμπερ πιν [%s]" { channel="exec:command:thing_tamper_pin:output" }
Contact tamper_contact "tamper συναγερμού [MAP(en.map):%s]" (inputs)
Switch tamper_switch "led του tamper" (alarm_check)
ακολουθεί το αρχείο των things
astro:sun:home [ geolocation="52.5200066,13.4049540", interval=60 ]
astro:moon:home [ geolocation="52.5200066,13.4049540", interval=60 ]
ntp:ntp:demo [ hostname="nl.pool.ntp.org", refreshInterval=60, refreshNtp=30 ]
mcp23017:mcp23017:chipA "MCP23017 chip A" [address=20,bus=1] {
Type output_pin : output#A0 [default_state="LOW"]
Type output_pin : output#A1 [default_state="LOW"]
Type output_pin : output#A2 [default_state="LOW"]
Type output_pin : output#A3 [default_state="LOW"]
Type output_pin : output#A4 [default_state="LOW"]
Type output_pin : output#A5 [default_state="LOW"]
Type output_pin : output#A6 [default_state="LOW"]
Type output_pin : output#A7 [default_state="HIGH"]
Type output_pin : output#B0 [default_state="LOW"]
Type output_pin : output#B1 [default_state="LOW"]
Type output_pin : output#B2 [default_state="LOW"]
Type output_pin : output#B3 [default_state="LOW"]
Type output_pin : output#B4 [default_state="LOW"]
Type output_pin : output#B5 [default_state="LOW"]
Type output_pin : output#B6 [default_state="LOW"]
Type output_pin : output#B7 [default_state="LOW"]
}
exec:command:temperature [ command="/home/openhabian/python/temp.py 28-000006894b3c", transform="REGEX((.*?))", interval=15, timeout=2, autorun=true ]
exec:command:kitchen-send [ command="/home/openhabian/python/kitchen_on_off_i2c.py ", interval=0, autorun=false ]
exec:command:boiler-send [ command="/home/openhabian/python/boiler_on_off_i2c.py ", interval=0, autorun=false ]
exec:command:front_door_pin [ command="/home/openhabian/python/front_door_reed_switch.py", interval=3, timeout=2, autorun=true ]
exec:command:out_door_pir_pin [ command="/home/openhabian/python/out_door_radar.py", interval=3, timeout=2, autorun=true ]
exec:command:front_pir_pin [ command="/home/openhabian/python/front_door_radar.py", interval=3, timeout=2, autorun=true ]
exec:command:panic_pin [ command="/home/openhabian/python/button_panic.py", interval=3, timeout=2, autorun=true ]
exec:command:thing_tamper_pin [ command="/home/openhabian/python/tamper.py", interval=3, timeout=2, autorun=true ]
exec:command:children_notific_high_temp [ command="/home/openhabian/notifications/high_temp_childrens_room.py", interval=0, autorun=false ]
exec:command:sound_front_door [ command="/home/openhabian/notifications/bip_notification.py", interval=0, autorun=false ]
exec:command:safe_dog [ command="/home/openhabian/notifications/safekeeping_dog.py", interval=0, autorun=false ]
exec:command:door_kipri [ command="/home/openhabian/python/door_on_off_i2c.py", interval=0, autorun=false ]
exec:command:shutdown_system [ command="/home/openhabian/python/shutdown_system.py", interval=0, autorun=false ]
exec:command:reboot_system [ command="/home/openhabian/python/reboot_system.py", interval=0, autorun=false ]
// vim: syntax=Xtend
Εδώ ακολουθεί τα items στην εκδοση του openhab 1.6 ως 1.8 που η εκτέελεση των python αρχείων γινόταν με την exec εντολή
Group alarm "Συναγερμός" <siren> (gFF)
Group alarm_check "έλεγχος ζωνών" <siren> (alarm)
Switch events_switch "Ενεργό συμβαν" (alarm)
Switch sf_enable_alarm "Ολική ενεργοποίηση συναγερμού" (alarm)
Switch sf_partial_enable_alarm "Μερική ενεργοποίηση συναγερμού" (alarm)
Number front_door_reed_switch_pin "πιν επαφής εισώδου [%.1f]" { exec="<[/home/pi/python/front_door_reed_switch.py:2000:REGEX((.*?))]" }
Contact front_door_contact "πόρτας εισόδου [MAP(en.map):%s]" (alarm_check)
Number front_door_pir_pin "πιν ρανταρ εισόδου [%.1f]" { exec="<[/home/pi/python/front_door_radar.py:1000:REGEX((.*?))]" }
Contact front_door_pin_contact "επαφή ρανταρ εισόδου [MAP(en.map):%s]" (alarm_check)
Switch front_door_pir_status "ρανταρ εισόδου" (alarm_check)
Number button_panic_pin "πιν μπουτον πανικου [%.1f]" { exec="<[/home/pi/python/button_panic.py:2000:REGEX((.*?))]" }
Contact button_panic_contact "επαφή μπουτόν πανικού [MAP(en.map):%s]" (alarm_check)
Switch button_panic_switch "μπουτόν πανικού" (alarm_check)
Number tamper_pin "ταμπερ πιν [%.1f]" { exec="<[/home/pi/python/tamper.py :2000:REGEX((.*?))]" }
Contact tamper_contact "επαφή tamper [MAP(en.map):%s]" (alarm_check)
Switch tamper_switch "tamper" (alarm_check)
Group alarm_zones "Ζώνες" (alarm)
Switch sf_alarm_zone_one "Ζώνη παιδικού" (alarm_zones)
Switch sf_alarm_zone_two "ζώνη κουζίνας" (alarm_zones)
Switch sf_alarm_zone_three "Ζώνη διαδρόμου" (alarm_zones)
Switch sf_alarm_zone_four "Ζώνη υπνοδωματίου" (alarm_zones)
Switch sf_alarm_zone_five "Ζώνη μπάνιου" (alarm_zones)
Switch sf_alarm_zone_six "Ζώνη σαλονιού" (alarm_zones)
Switch sf_alarm_zone_seven "Ζώνη γραφείου" (alarm_zones)
Switch sf_alarm_zone_eight "Ζώνη γκαράζ" (alarm_zones)
Group alarm_events "Συμβάντα" (alarm)
Switch sf_event_alarm_zone_one "alarm παιδικού" (alarm_events)
Switch sf_event_alarm_zone_two "alarm κουζίνας" (alarm_events)
Switch sf_event_alarm_zone_three "alarm διαδρόμου" (alarm_events)
Switch sf_event_alarm_zone_four "alarm υπνοδωματίου" (alarm_events)
Switch sf_event_alarm_zone_five "alarm μπάνιου" (alarm_events)
Switch sf_event_alarm_zone_six "alarm σαλονιού" (alarm_events)
Switch sf_event_alarm_zone_seven "alarm γραφείου" (alarm_events)
Switch sf_event_alarm_zone_eight "alarm γκαράζ" (alarm_events)
Switch reset_events_switch "reset" (alarm_events)
Group alarm_test "Δοκιμή συσκευών" (alarm)
Switch sf_call_center "Τηλεφωνητής" (alarm_test) { exec=" ON:/home/pi/python/tilefonitis_on_i2c, OFF:/home/pi/python/tilefonitis_off_i2c" }
Switch sf_safekeeping_dog "Ηλεκτρονικός φύλακας" (alarm_test) { exec="ON:/home/pi/notifications/safekeeping_dog.py" }
Switch sf_alarm_test_inside_siren "εσωτερική σειρήνα" (alarm_test) { exec=" ON:/home/pi/python/esoteriki_sirina_on_i2c, OFF:/home/pi/python/esoteriki_sirina_off_i2c" }
Switch sf_alarm_test_outside_siren "εξωτερική σειρήνα" (alarm_test) { exec=" ON:/home/pi/python/exoteriki_sirina_on_i2c, OFF:/home/pi/python/exoteriki_sirina_off_i2c" }
Switch sf_alarm_test_strobe_siren "strobe σειρήνας" (alarm_test) { exec=" ON:/home/pi/python/strobe_sirina_on_i2c, OFF:/home/pi/python/strobe_sirina_off_i2c" }
Ενημερώνουμε το αρχείο με το sitemap
Ενημερώνουμε το αρχείο με τα rules