Zustand Steckdosen /Temperatur per http api abfragen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Zustand Steckdosen /Temperatur per http api abfragen

      Hallo,

      wie kann ich den Zustand einer Funksteckdose per http api abfragen, und kann ich auch einen Wert von einem DS18 temperaturfühler per http api abfragen?
      Oder gibt es eine Doku für die http api ?

      Würde das SHC gerne per homebridge an das HomeKit von Apple anbinden.
      Das Schalten von Funksteckdose funktioniert schon per http api.

      Gruß
      Harpi
    • Im Folgenden die Schnittstellenberschreibung der APP Schnittstelle vom SHC 2.2.x:


      Räume auflisten

      Die URL index.php?app=shc&a&ajax=roomsjson&user=test&password=123456 gibt die Liste mit Räumen zurück.

      JavaScript-Quellcode

      1. [
      2. {
      3. "id": 6,
      4. "name": "Wohnzimmer"
      5. },
      6. {
      7. "id": 1,
      8. "name": "Kinderzimmer"
      9. },
      10. {
      11. "id": 2,
      12. "name": "Sensoren"
      13. }
      14. ]
      Alles anzeigen


      Benutzer und Passwort sind die Zugangsdaten des in der App verwendeten Users, sind diese nicht angegeben wird automatisch die Berechtigung vom Gast verwendet.
      Alle Räume sind automatisch nach ihrer Order ID sortiert.


      Raum Elemente auslisten

      Die URL index.php?app=shc&a&ajax=roomelementsjson&id=1&user=test&password=123456 gibt die Liste mit den Elementen eines Raumes zurück.

      JavaScript-Quellcode

      1. [
      2. {
      3. "id": 4,
      4. "name": "Fernsehen",
      5. "icon": "shc-icon-tv",
      6. "state": 1,
      7. "type": "RadioSocket",
      8. "buttonText": 1
      9. },
      10. {
      11. "id": 5,
      12. "name": "NAS",
      13. "icon": "shc-icon-nas",
      14. "state": 1,
      15. "type": "Activity",
      16. "buttonText": 1
      17. },
      18. {
      19. "id": 7,
      20. "name": "Test Neustart",
      21. "icon": "",
      22. "state": 0,
      23. "type": "Reboot"
      24. },
      25. {
      26. "id": 8,
      27. "name": "Internet neu Verbinden",
      28. "icon": "shc-icon-reconnect",
      29. "state": 1,
      30. "type": "FritzBox",
      31. "function": 5
      32. },
      33. {
      34. "type": "Input",
      35. "id": 10,
      36. "name": "Test Eingang",
      37. "state": 1
      38. },
      39. {
      40. "id": 11,
      41. "name": "Test WOL",
      42. "icon": "",
      43. "state": 0,
      44. "type": "WakeOnLan"
      45. },
      46. {
      47. "id": 3,
      48. "name": "Countdown",
      49. "icon": "shc-icon-countdown",
      50. "state": 1,
      51. "type": "RadioSocket",
      52. "buttonText": 1
      53. }
      54. ]
      Alles anzeigen

      JavaScript-Quellcode

      1. [
      2. {
      3. "type": "Box",
      4. "name": "AVM Steckdosen",
      5. "elements": [
      6. {
      7. "id": "08761 0184476",
      8. "name": "Sensor-ID-08761 0184476",
      9. "icon": "shc-icon-avmPowerSensor",
      10. "type": "AvmMeasuringSocket",
      11. "temp": "21,8 °C",
      12. "power": "6,3 W",
      13. "energy": "45,15 kWh"
      14. },
      15. {
      16. "id": "08761 0174723",
      17. "name": "Sensor-ID-08761 0174723",
      18. "icon": "shc-icon-avmPowerSensor",
      19. "type": "AvmMeasuringSocket",
      20. "temp": "21,8 °C",
      21. "power": "125,8 W",
      22. "energy": "79,67 kWh"
      23. },
      24. {
      25. "id": "08761 0184596",
      26. "name": "Sensor-ID-08761 0184596",
      27. "icon": "shc-icon-avmPowerSensor",
      28. "type": "AvmMeasuringSocket",
      29. "temp": "21,4 °C",
      30. "power": "14,7 W",
      31. "energy": "32,98 kWh"
      32. }
      33. ]
      34. },
      35. {
      36. "id": "5",
      37. "name": "Licht",
      38. "icon": "shc-icon-ldr",
      39. "type": "LDR",
      40. "val": "98%"
      41. },
      42. {
      43. "id": "4",
      44. "name": "Feuchte",
      45. "icon": "shc-icon-hygrometer",
      46. "type": "Hygrometer",
      47. "val": "50%"
      48. },
      49. {
      50. "id": "3",
      51. "name": "Regen",
      52. "icon": "shc-icon-rain",
      53. "type": "RainSensor",
      54. "val": "50%"
      55. },
      56. {
      57. "type": "Box",
      58. "name": "Temperaturen",
      59. "elements": [
      60. {
      61. "id": "1",
      62. "name": "Test DHT",
      63. "icon": "shc-icon-dht",
      64. "type": "DHT",
      65. "temp": "28,5 °C",
      66. "hum": "56,8%"
      67. },
      68. {
      69. "id": "28-ab08de9275",
      70. "name": "Test DS18X20",
      71. "icon": "shc-icon-ds18x20",
      72. "type": "DS18x20",
      73. "temp": "28,5 °C"
      74. },
      75. {
      76. "id": "2",
      77. "name": "BMP",
      78. "icon": "shc-icon-bmp",
      79. "type": "BMP",
      80. "temp": "28,5 °C",
      81. "press": "1.011,4 hPa",
      82. "alti": "340,5m"
      83. }
      84. ]
      85. }
      86. ]
      Alles anzeigen

      Benutzer und Passwort sind wie bei den Räumen, die ID ist die Raum ID. Wie auch bei den Räumen sind alle Elemente automatisch richtig sortiert.
      Die beide Boxen zeigen einen Querschnitt über alle möglichen Elemente, anhand des Eintrages "type" können die möglichen Elemente unterschieden werden.


      Raum Elemente Synchronisieren

      Die URL index.php?app=shc&a&ajax=roomsyncjson&id=1&user=test&password=123456 gibt die Liste mit den Statusdaten der Elementen eines Raumes zurück.

      JavaScript-Quellcode

      1. {
      2. "success": true,
      3. "switchables": {
      4. "3": 1,
      5. "4": 1,
      6. "5": 1,
      7. "7": 0
      8. },
      9. "wol": {
      10. "11": 0
      11. },
      12. "readables": {
      13. "10": 1
      14. },
      15. "ds18x20": [],
      16. "dht": [],
      17. "bmp": [],
      18. "analog": [],
      19. "syncAvmPowerSocket": []
      20. }
      Alles anzeigen

      JavaScript-Quellcode

      1. {
      2. "success": true,
      3. "switchables": [],
      4. "wol": [],
      5. "readables": [],
      6. "ds18x20": {
      7. "28-ab08de9275": {
      8. "temp": "28,5 °C"
      9. }
      10. },
      11. "dht": {
      12. "1": {
      13. "temp": "28,5 °C",
      14. "hum": "56,8%"
      15. }
      16. },
      17. "bmp": {
      18. "2": {
      19. "temp": "28,5 °C",
      20. "press": "1.011,4 hPa",
      21. "alti": "340,5m"
      22. }
      23. },
      24. "analog": {
      25. "5": {
      26. "value": "98%"
      27. },
      28. "4": {
      29. "value": "50%"
      30. },
      31. "3": {
      32. "value": "50%"
      33. }
      34. },
      35. "syncAvmPowerSocket": {
      36. "08761-0184476": {
      37. "temp": "21,8 °C",
      38. "power": "6,3 W",
      39. "energy": "45,15 kWh"
      40. },
      41. "08761-0184596": {
      42. "temp": "21,4 °C",
      43. "power": "14,7 W",
      44. "energy": "32,98 kWh"
      45. },
      46. "08761-0174723": {
      47. "temp": "21,8 °C",
      48. "power": "125,8 W",
      49. "energy": "79,67 kWh"
      50. }
      51. }
      52. }
      Alles anzeigen
      Auch hier sind Benutzername und Passwort nötig, zurück bekommst du die aktuelle Statusdaten eines Raumes. Der Index ist jeweils die ID des Elements und die Einträge die jeweiligen Daten.


      Elemente Schalten

      Um die Funktionen zu schalten musst du jeweils nur die URL index.php?app=shc&a&ajax=executeappswitchcommand&sid=3&command=0&user=test&password=123456 aufrufen, wobei die ID die Element ID ist und der Command 0 für "aus und "1" für an.

      zurück bekommst du ein JSON String der entweder nur wie folgt aussieht wenn alles i.O. ist:

      JavaScript-Quellcode

      1. {
      2. "success": true
      3. }
      oder im Fehlerfall z.B.:

      JavaScript-Quellcode

      1. {
      2. "success": false,
      3. "message": "Ungültige ID"
      4. }
      Wenn du noch Fragen hast melde dich einfach. Wie gesagt die Detailtiere Doku in der auch alle Elemente beschrieben sind wird noch etwas dauern, mit ein bisschen Probieren reicht das aber denke ich fürs erste aus. Ich habe mir einfach nach und nach die Elemente erstellt und die Einbindung in der APP Programmiert.


      Benutzer zu Hause
      Die URL index.php?app=shc&a&ajax=userathomejson&user=test&password=123456 gibt die Liste mit den Benutzern zu Hause und dessen Status zurück.

      JavaScript-Quellcode

      1. {
      2. "success":true,
      3. "0":{"id":1,"name":"Test 1","state":1},
      4. "1":{"id":2,"name":"Test 2","state":1},
      5. "2":{"id":3,"name":"Test 3","state":0},
      6. "3":{"id":4,"name":"Test 4","state":0}
      7. }


      Meldungen

      Die URL index.php?app=shc&a&ajax=getwarningsjson&user=test&password=123456 gibt die Liste mit den aktuell Anstehenden Meldungen zurück.

      JavaScript-Quellcode

      1. [
      2. "Kein laufender Schaltserver gefunden. Für die Funktion des SHC muss mindestens ein Schaltserver erreichbar sein!",
      3. "Der Sheduler läuft nicht",
      4. "Der Sensorpunkt "SensorPoint-1" hat seit mehr als 2 Stunden keine Daten mehr übermittelt",
      5. "Der Sensorpunkt "SensorPoint-1000" hat seit mehr als 2 Stunden keine Daten mehr übermittelt",
      6. "Der Sensorpunkt "SensorPoint-999" hat seit mehr als 2 Stunden keine Daten mehr übermittelt"
      7. ]