Care API (Gesamtsteuerung)

Zur Care API gibt es eine kleines PDF, das die Grundlagen von dessen Socket.io API dokumentiert. Das heißt hier sind erstmal nur nicht dort dokumentierte Funktionen. Zum Debugging kann man in einem Browser, der WebSockets debuggen kann (z.B. Chrome), schauen was passiert, wenn man Aktionen auf der Care API Weboberfläche ausführt.

Achtung: Der SensFloor verwendet eine alte Version von Socket.io (Versionen 2.x), die nur mit Clients mit passender Version kompatibel sind.

rooms-state

Über dieses Event kann man wohl regelmäßig den Raum-Status empfangen. Die Daten schauen zum Beispiel so aus:

[
    {
        activeAlarms: [],
        address: "192.168.178.22:8000",
        autoEnableTimeLeft: 3586,
        connected: true,
        enabled: true,
        falls: 0,
        floor: 1,
        hostname: "c8a000ae",
        lastActivity: 1652447893968,
        lastFall: 1652434557773,
        moving: 1,  // Anzahl sich bewegender Personen
        name: "Room 1",
        on: true,
        pastAlarms: [{index: 0, alarmNumber: 1, type: "fall", activationTime: 1652434557715, unattended: true}],
        recalibrating: false,
        room: 1,
        sensfloor: true,
        static: 0,  // Anzahl sich nicht bewegender Personen
        unattendedFall: true,
        updateView: true,
    }
]

state-new

Über dieses Event kann man Statusänderungen für Räume empfangen. Man erhält zum Beispiel folgende Daten:

{
    activity: true,  // Ob sich Personen auf dem SensFloor befinden
    alarm: false,
    connected: true,
    enabled: true,  // Ob der SensFloor an sich an ist (ist auch true falls nur temporär disabled)
    recalibrating: false,  // Ob der SensFloor gerade rekalibriert
    roomName: "Room 1",
    roomNumber: 1,
    sensfloor: true,
    tempDisabled: false,  // Ob der SensFloor gerade temporär aus ist (schaltet sich nach einiger Zeit selbst wieder ein)
}

Schaltet man den SensFloor ein, läuft am Anfang kurz eine Rekalibrierung, währenddessen ist enabled allerdings schon auf true. tempDisabled (falls davor gesetzt) bleibt aber true, bis die Kalibrierung vorbei ist.

enable

Ein Event, um den SensFloor temporär auszuschalten, oder wieder einzuschalten. Für den einzigen Raum bei uns geht das so:

client.emit("enable", "1", "1", true/false)

state

Ein Event, um den SensFloor dauerhaft ein-/auszuschalten. Für den einzigen Raum bei uns geht das so:

client.emit("state", "1", "1", true/false)