Steinel Z-Wave Lampe Implementierungs-Request

Begonnen von ramses, 30 November 2017, 17:12:29

Vorheriges Thema - Nächstes Thema

ramses

Hallo,

ich habe mir eine Steinel Lampe RS LED D2 Z-Wave zugelegt und meine große Bitte wäre, wenn jemand die Anpassungen (wahrscheinlich braucht man einen Modul) durchführen könnte?
Ich helfe natürlich mit Testing und Logs falls notwendig.
Basic Funktionalität ist da, ich kann sie ein-/ausschalten und die Alarm Nachrichten kommen an, wenn der Sensor Bewegung feststellt.
Was nicht geht: Empfindlichkeit, Zeit und Modis einstellen

Lampenbeschreibung https://www.steinel.de/de/smarthome/smart-friends-smarte-bewegungsmelder-leuchten-strahler/rs-led-d2-z-wave.html

die Z-Wave Klassen und Configs sind am Ende der Bedienungsanleitung im Anhang

Vielen Dank!

rudolfkoenig

Kannst du bitte noch die Infos, die hier: https://wiki.fhem.de/wiki/Z-Wave#Welche_Infos_sollten_Anfragen_im_ZWave-Forum_enthalten.3F beschrieben sind, liefern.

Ich gehe davon aus, dass du alles aendern kannst, bloss nicht mit "Klartext" config Befehlen, sondern mit configByte (size == 1) und configWord (size == 2) und den numerischen Werten, die man aus der Bedienungsanleitung raussuchen muss.

ramses

vielen Dank vorerst für die Antwort.
Habe mir auch gedacht, dass mit direkten Befehlen auch gehen müsste, habe nur Angst gehabt, etwas zu verstellen.

Hier die benötigten Infos

list zw_Licht_VR_EG
Internals:
   DEF        ce8xxxx 11
   IODev      ZWDongle_1
   LASTInputDev ZWDongle_1
   MSGCNT     33
   NAME       zw_Licht_VR_EG
   NR         276
   STATE      on
   TYPE       ZWave
   ZWDongle_1_MSGCNT 33
   ZWDongle_1_RAWMSG 0004000b0a7105000000ff07000108
   ZWDongle_1_TIME 2017-12-02 09:55:44
   ZWaveSubDevice no
   cmdsPending 0
   endpointChildren ZWave_SWITCH_BINARY_11.01,ZWave_SENSOR_NOTIFICATION_11.02,ZWave_SENSOR_MULTILEVEL_11.03
   homeId     ce8xxxxx
   isWakeUp
   lastMsgSent 1512204707.3235
   nodeIdHex  0b
   Helper:
     DBLOG:
       alarm:
         DBLogging:
           TIME       1512204944.93554
           VALUE      HomeSecurity: Event cleared: Motion Detection - Unknown Location, arg 0108
       assocGroup_1:
         DBLogging:
           TIME       1512204571.73458
           VALUE      1
       assocGroup_2:
         DBLogging:
           TIME       1512204571.77978
           VALUE      16
       assocGroup_3:
         DBLogging:
           TIME       1512204571.82426
           VALUE      16
       assocGroup_4:
         DBLogging:
           TIME       1512204571.8652
           VALUE      16
       assocGroups:
         DBLogging:
           TIME       1512204571.68977
           VALUE      4
       luminance:
         DBLogging:
           TIME       1512204081.33868
           VALUE      2000
       mcaGroups:
         DBLogging:
           TIME       1512204707.19231
           VALUE      4
       mca_1:
         DBLogging:
           TIME       1512204707.23756
           VALUE      1
       mca_2:
         DBLogging:
           TIME       1512204707.28166
           VALUE      Max 16
       mca_3:
         DBLogging:
           TIME       1512204707.32593
           VALUE      Max 16
       mca_4:
         DBLogging:
           TIME       1512204707.36684
           VALUE      Max 16
       reportedState:
         DBLogging:
           TIME       1512204680.44426
           VALUE      on
       state:
         DBLogging:
           TIME       1512204680.44426
           VALUE      on
   READINGS:
     2017-11-30 16:34:11   CMD             ZW_APPLICATION_UPDATE
     2017-12-02 09:55:44   alarm           HomeSecurity: Event cleared: Motion Detection - Unknown Location, arg 0108
     2017-12-02 09:49:31   assocGroup_1    Max 1 Nodes ZWDongle_1
     2017-12-02 09:49:31   assocGroup_2    Max 16 Nodes
     2017-12-02 09:49:31   assocGroup_3    Max 16 Nodes
     2017-12-02 09:49:31   assocGroup_4    Max 16 Nodes
     2017-12-02 09:49:31   assocGroups     4
     2017-12-02 09:41:21   luminance       2000 Lux
     2017-11-30 16:20:23   mcCapability_01 ZWAVEPLUS_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO SWITCH_BINARY SCENE_ACTIVATION SCENE_ACTUATOR_CONF SWITCH_ALL APPLICATION_STATUS
     2017-11-30 16:20:23   mcCapability_02 ZWAVEPLUS_INFO ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO ALARM
     2017-11-30 16:20:25   mcCapability_03 ZWAVEPLUS_INFO SENSOR_MULTILEVEL ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO
     2017-11-30 16:20:22   mcEndpoints     total 3, different
     2017-12-02 09:51:47   mcaGroups       4
     2017-12-02 09:51:47   mca_1           Max 1 Nodes ZWDongle_1
     2017-12-02 09:51:47   mca_2           Max 16
     2017-12-02 09:51:47   mca_3           Max 16
     2017-12-02 09:51:47   mca_4           Max 16
     2017-11-30 16:20:22   model           0x0271 0x0001 0x1a74
     2017-11-30 16:20:22   modelId         0271-0001-1a74
     2017-12-02 09:51:20   reportedState   on
     2017-12-02 09:51:20   state           on
     2017-12-02 09:51:47   timeToAck       0.036
     2017-12-02 09:51:47   transmit        OK
Attributes:
   IODev      ZWDongle_1
   classes    ZWAVEPLUS_INFO FIRMWARE_UPDATE_MD VERSION MANUFACTURER_SPECIFIC MULTI_CHANNEL DEVICE_RESET_LOCALLY CONFIGURATION POWERLEVEL NODE_NAMING ALARM ASSOCIATION MULTI_CHANNEL_ASSOCIATION ASSOCIATION_GRP_INFO SWITCH_BINARY SCENE_ACTIVATION SCENE_ACTUATOR_CONF SWITCH_ALL APPLICATION_STATUS SENSOR_MULTILEVEL
   room       ZWave
   vclasses   ALARM:4 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:3 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL:4 MULTI_CHANNEL_ASSOCIATION:3 NODE_NAMING:1 POWERLEVEL:1 SCENE_ACTIVATION:1 SCENE_ACTUATOR_CONF:1 SENSOR_MULTILEVEL:4 SWITCH_ALL:1 SWITCH_BINARY:1 VERSION:2 ZWAVEPLUS_INFO:2




und logs dazu:
2017.12.02 09:37:34 0: Featurelevel: 5.8
2017.12.02 09:37:34 0: Server started with 272 defined entities (fhem.pl:15522/2017-11-29 perl:5.020002 os:linux user:fhem pid:4053)
2017.12.02 09:37:34 2: ZWDongle_ProcessSendStack: no ACK, resending message 0107000301020100f9

2017.12.02 09:42:41 2: autocreate: renamed FileLog_ZWave_SWITCH_BINARY_11 to FileLog_zw_Licht_VR_EG
2017.12.02 09:49:31 3: ZWave get zw_Licht_VR_EG associationGroups
2017.12.02 09:49:31 3: ZWave get zw_Licht_VR_EG association 1
2017.12.02 09:49:31 3: ZWave get zw_Licht_VR_EG association 2
2017.12.02 09:49:31 3: ZWave get zw_Licht_VR_EG association 3
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass ALARM
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass APPLICATION_STATUS
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass ASSOCIATION
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass ASSOCIATION_GRP_INFO
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass CONFIGURATION
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass DEVICE_RESET_LOCALLY
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass FIRMWARE_UPDATE_MD
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass MANUFACTURER_SPECIFIC
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass MULTI_CHANNEL
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass MULTI_CHANNEL_ASSOCIATION
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass NODE_NAMING
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass POWERLEVEL
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass SCENE_ACTIVATION
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass SCENE_ACTUATOR_CONF
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass SENSOR_MULTILEVEL
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass SWITCH_ALL
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass SWITCH_BINARY
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass VERSION
2017.12.02 09:51:25 3: ZWave get zw_Licht_VR_EG versionClass ZWAVEPLUS_INFO
2017.12.02 09:51:47 3: ZWave get zw_Licht_VR_EG mcaGroupings
2017.12.02 09:51:47 3: ZWave get zw_Licht_VR_EG mca 1
2017.12.02 09:51:47 3: ZWave get zw_Licht_VR_EG mca 2
2017.12.02 09:51:47 3: ZWave get zw_Licht_VR_EG mca 3
2017.12.02 09:51:47 3: ZWave get zw_Licht_VR_EG mca 4
2017.12.02 09:54:18 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:54:18 5: SW: 06
2017.12.02 09:54:18 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:54:18 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:55:21.448 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:55:21.448 5: SW: 06
2017.12.02 09:55:21.449 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:55:21.450 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:55:34.431 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:55:34.432 5: SW: 06
2017.12.02 09:55:34.433 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:55:34.433 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:55:39.982 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:55:39.982 5: SW: 06
2017.12.02 09:55:39.986 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:55:39.986 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:55:44.932 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:55:44.932 5: SW: 06
2017.12.02 09:55:44.933 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:55:44.934 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:56:15.402 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:56:15.403 5: SW: 06
2017.12.02 09:56:15.404 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:56:15.405 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:56:19.932 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:56:19.932 5: SW: 06
2017.12.02 09:56:19.934 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:56:19.934 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:56:19.962 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b063105030a07d0 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:56:19.962 5: SW: 06
2017.12.02 09:56:19.963 5: ZWDongle_1: dispatch 0004000b063105030a07d0
2017.12.02 09:56:19.964 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:063105030a07d0 CB:00
2017.12.02 09:56:50.537 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:56:50.537 5: SW: 06
2017.12.02 09:56:50.539 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:56:50.539 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:56:55.431 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:56:55.431 5: SW: 06
2017.12.02 09:56:55.433 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:56:55.433 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:56:57.364 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:56:57.364 5: SW: 06
2017.12.02 09:56:57.366 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:56:57.366 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:57:07.932 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:57:07.932 5: SW: 06
2017.12.02 09:57:07.933 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:57:07.934 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:57:45.741 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:57:45.742 5: SW: 06
2017.12.02 09:57:45.743 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:57:45.744 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:57:54.432 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:57:54.432 5: SW: 06
2017.12.02 09:57:54.433 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:57:54.434 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:58:39.205 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:58:39.205 5: SW: 06
2017.12.02 09:58:39.206 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:58:39.207 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:58:48.166 2: CUL_TCM97001 Unknown device Unknown, please define it
2017.12.02 09:58:50.932 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:58:50.932 5: SW: 06
2017.12.02 09:58:50.933 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:58:50.934 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00
2017.12.02 09:59:28.609 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b097105000000ff070800 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:59:28.610 5: SW: 06
2017.12.02 09:59:28.611 5: ZWDongle_1: dispatch 0004000b097105000000ff070800
2017.12.02 09:59:28.612 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:097105000000ff070800 CB:00
2017.12.02 09:59:36.432 4: ZWDongle_Read ZWDongle_1: rcvd 0004000b0a7105000000ff07000108 (request APPLICATION_COMMAND_HANDLER), sending ACK
2017.12.02 09:59:36.432 5: SW: 06
2017.12.02 09:59:36.433 5: ZWDongle_1: dispatch 0004000b0a7105000000ff07000108
2017.12.02 09:59:36.434 4: CMD:APPLICATION_COMMAND_HANDLER ID:0b ARG:0a7105000000ff07000108 CB:00



Vielen Dank!

krikan

Für das Geraet gibt es in FHEM bisher keine XML-Datei für die Generierung der "Klartext" config Befehle.
Auch bei den Kollegen von openzwave und openhab finde ich keine.
Wenn Du eine XML erstellen magst und hier zur Verfügung stellst, binde ich die in FHEM ein. Wie es geht, findest Du im Wiki bzw. den dort verlinkten Quellen: https://wiki.fhem.de/wiki/Z-Wave#Wie_k.C3.B6nnen_fehlende_XML-Config-Informationen_f.C3.BCr_mein_ZWave-Ger.C3.A4t_in_FHEM_eingebunden_werden.3F

Alternativ den von Rudi genannten direkten Weg über configByte bzw. configWord nehmen. Beispielsweise für die Aenderung der Beleuchtungsdauer nach Bewegungserkennung auf 200 Sekunden (Paramter 1 mit size 2):
set <device> configWord 1 200

Gruß, Christian

ramses

super! Vielen Dank!
manuell verändern der Params funktioniert tadellos!

XML reiche ich nach asap


ramses

ich lese mich in das XML Thematik ein und stelle fest, dass Steinel sehr wohl in openzwave_manufacturer_specific.xml enthalten ist, trotzdem wird das Model und Hersteller nicht erkannt.
Warum ist das so?


<Manufacturer id="0271" name="Steinel">
<Product type="0001" id="1a72" name="IS 140-2" forumNr="no-statistics"/>
<Product type="0001" id="1a73" name="XLED Home 2" forumNr="no-statistics"/>
<Product type="0001" id="1a74" name="RS LED D2" forumNr="no-statistics"/>         //das wäre das Model in meinem Fall
<Product type="0001" id="1a75" name="L 810 LED iHF" forumNr="no-statistics"/>
</Manufacturer>


krikan

ZitatWarum ist das so?
Weil ich vorgestern nach Deinem Post alle zu findenden Steinel-Produkte zumindest mit Namen in der Datei ergaenzt habe. (Das ist die schnelle und einfache Arbeit.) Die jeweilige produktspezifische XML-Config-Datei habe ich aber nicht erstellt.

Rufe bei aktuellem FHEM noch einmal
get <device> model
ab.

ramses

bingo! ;-)
und ich habe brav ein Update gemacht, dass Du eine Aktualisierung durchgeführt hast! Danke für die schnelle Reaktion!

ramses

ist das normal, dass wenn ich zB mit

set configByte 1 30

ein Parameter verändere, der State sich wie im screenshot ändert?

krikan


maluk

Die Konfiguration für den Bewegungsmelder IS 140-2 stimmt nicht. Ich habe diesen Bewegungsmelder und er wurde nicht erkannt. Richtig ist type="0002". Außerdem gibt es unter https://github.com/OpenZWave/open-zwave/blob/master/config/steinel/is140-2.xml eine Konfiguration für den Bewegungsmelder. Diese habe ich bei mir in openzwave_deviceconfig.xml.gz integriert und dann die openzwave_manufacturer_specific.xml angepasst:

<Product type="0002" id="1a72" name="IS 140-2" config="steinel/is140-2.xml"/>

Danach sind sprechende Konfigurations-Befehle inkl. Hilfe für den Bewegungsmelder vorhanden. Für die Lampe RS LED D2 Z-Wave habe ich leider nichts fertiges gefunden.

krikan

#11
Danke für den Hinweis.
Habe ich geaendert/ergaenzt und eingecheckt; ab heute ca. 8 Uhr im update.

maluk

Danke krikan. Ich habe mir jetzt auch noch einen Strahler XLED Home 2 von Steinel besorgt. Für den gilt eigentlich die gleiche Konfiguration wie für den Bewegungsmelder, da es sich ja nur ein Strahler mit integriertem Bewegungsmelder handelt. Daher habe ich bei mir die openzwave_deviceconfig.xml wie folgt angepasst:

<Product type="0001" id="1a73" name="XLED Home 2" forumNr="steinel/is140-2.xml"/>

Damit kann man auch den Strahler wie den Bewegungsmelder konfigurieren und vollumfänglich in FHEM nutzen.

Wäre super, wenn du das bei Gelegenheit ändern und einchecken könntest.

rudolfkoenig


krikan

Habe es als
<Product type="0001" id="1a73" name="XLED Home 2" config="steinel/is140-2.xml"/>
eingecheckt. Ab sofort im svn und ab morgen ca. 8 Uhr per update.

Bitte testen, ob es funktioniert.

Btw: Die Verwirrung config/forumNr habe ich verursacht: war beim IS-140-2 auch falsch.