2023-02-23 21:20:41 +01:00
|
|
|
from sqlalchemy import Column, Integer, ForeignKey
|
|
|
|
|
2023-10-04 09:50:10 +02:00
|
|
|
from platypush.common.db import is_defined
|
2023-02-23 21:20:41 +01:00
|
|
|
|
|
|
|
from .sensors import BinarySensor
|
|
|
|
|
|
|
|
|
2023-10-04 09:50:10 +02:00
|
|
|
if not is_defined('contact_sensor'):
|
2023-02-23 21:20:41 +01:00
|
|
|
|
|
|
|
class ContactSensor(BinarySensor):
|
|
|
|
"""
|
|
|
|
A binary sensor that detects contact.
|
|
|
|
"""
|
|
|
|
|
|
|
|
__tablename__ = 'contact_sensor'
|
|
|
|
|
|
|
|
id = Column(
|
|
|
|
Integer, ForeignKey(BinarySensor.id, ondelete='CASCADE'), primary_key=True
|
|
|
|
)
|
|
|
|
|
2023-10-04 09:50:10 +02:00
|
|
|
__table_args__ = {'extend_existing': True}
|
2023-02-23 21:20:41 +01:00
|
|
|
__mapper_args__ = {
|
|
|
|
'polymorphic_identity': __tablename__,
|
|
|
|
}
|