Seite 1 von 1

Smarthome read Value

Verfasst: Freitag 11. September 2015, 19:55
von firstfacility
Hallo Forum,
ich nutze von RWE das Smarthome System und schalte und verändere zurzeit über die Webseite per Script einige Zustände. Nun benötige ich jedoch die Zustände meiner Aktoren um damit weiter arbeiten zu können. Hierzu nutze ich mechanize um mich auf der Seite anzumelden um die komplette Seite zu laden.

Code: Alles auswählen

import mechanize
import time, re

br = mechanize.Browser()
br.open('https://mobile.rwe-smarthome.de/MobileWEb/Logon/Logon')
br.select_form(nr=0)
br['UserName'] = 'geheim'
br['Password'] = 'geheim'
br.submit()

response = br.open('https://mobile.rwe-smarthome.de/MobileWeb/JsonApi/GetLogicalDeviceState/)

print response



Soweit so gut. Als Ausgabe bekomme ich den Code der Webseite mit den Wert den ich benötige. Einen Auszug füge ich an :

Code: Alles auswählen

$(function() {
            ActuatorManager.load(
                ["32e81969-9c21-402b-b754-71d7bbd85e85","8514ad86-ed9e-475c-ad86-3213a25c8089","21b26bf2-2f2d-473b-8b8d-c14d157b79d4","66f15bd2-e03f-4194-abb6-69f454b8da0b","1d41cccd-3e34-4785-a051-6fb04ed36e52","3775a3c8-16d6-405e-936a-c2bf5a4aa959","fc8c5af3-5601-424b-8f3b-fb659d42d449","0d377a79-e6ee-42c5-9207-179ebded4dc8"],
                [{"LocationId":"32e81969-9c21-402b-b754-71d7bbd85e85","Actuators":[{"Id":"d7dadd3e-6b2e-4907-ac23-3b387b0b069b","Name":"Signal 1","Location":"ÜBERGREIFEND","AppId":"sh://core.builtin","DeviceType":"Wsd","CurrentValue":null,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":false,"IsReadOnly":false,"IsContainer":false,"CssClassName":"alarm","BaseDeviceIds":["de92509e-4f4a-4d6e-9f42-6735643f4275"],"IconCssClassName":"AUS"},{"Id":"941c5197-9e87-4b1a-8877-47b01be3d220","Name":"Zustandsvariable 1","Location":"ÜBERGREIFEND","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["ace5f365-d4d5-4b2b-a3be-79d0e31a2178"],"IconCssClassName":""}]},{"LocationId":"8514ad86-ed9e-475c-ad86-3213a25c8089","Actuators":[{"Id":"74d0650f-473b-49d1-a402-087caaa176a4","Name":"Deckenlicht","Location":"WOHNZIMMER","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"light","BaseDeviceIds":["45cc0d67-099e-4898-8edb-d2f761a89226"],"IconCssClassName":""},{"Id":"706781b8-0b01-42df-bc4d-59cda269cab8","Name":"Stehlampe","Location":"WOHNZIMMER","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":1,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"light","BaseDeviceIds":["480ef73b-ecfc-4c28-aff1-89aacf1dbcf9"],"IconCssClassName":""},{"Id":"5a9384db-bf41-4ce8-84ef-eadf8c88be6c","Name":"Licht 4","Location":"WOHNZIMMER","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":1,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"light","BaseDeviceIds":["a87140e2-8c1f-4a87-9dde-72d636b50e2d"],"IconCssClassName":""},{"Id":"9fdf6577-2b89-43d1-86d6-f41446de7b28","Name":"Zustandsvariable 1","Location":"WOHNZIMMER","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["7796ab96-c240-4af1-9b18-df6584190705"],"IconCssClassName":""},{"Id":"af671e3f-25f3-4ca6-80c8-d296627dc99b","Name":"Zustandsvariable 2","Location":"WOHNZIMMER","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["e11a6dbd-0ac8-4b0f-b3e0-c210f6494d87"],"IconCssClassName":""},{"Id":"7221422f-22bd-446a-98db-17975ce47c25","Name":"Zustandsvariable 3","Location":"WOHNZIMMER","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["0770a4c7-99f6-4ff6-9057-c463e91bd54c"],"IconCssClassName":""}]},{"LocationId":"21b26bf2-2f2d-473b-8b8d-c14d157b79d4","Actuators":[{"Id":"0781cb70-7ef6-4a8b-81af-9618b6950b88","Name":"Klimaanlage","Location":"SCHLAFZIMMER","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"elecdev","BaseDeviceIds":["1300879d-374c-4380-b63d-ee3698762847"],"IconCssClassName":""},{"Id":"4ee983f2-3699-4cba-9895-5e3f5a3ecbe3","Name":"Markise 1","Location":"SCHLAFZIMMER","AppId":"sh://core.builtin","DeviceType":"Isr2","CurrentValue":25,"MinValue":0,"MaxValue":100,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall awning","BaseDeviceIds":["dcf0b836-684e-4c41-8c96-02733f3c303e"],"IconCssClassName":""}]},{"LocationId":"66f15bd2-e03f-4194-abb6-69f454b8da0b","Actuators":[{"Id":"993725bd-d1b9-469d-95f8-3937e5057279","Name":"Zustandsvariable 1","Location":"BAD","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["a7bb6e7f-a4c1-4d6e-b18c-27fedfbc0f2f"],"IconCssClassName":""},{"Id":"77b66ed7-e638-4d8a-bbbd-31d7b8574dbb","Name":"Heizung","Location":"BAD","AppId":"sh://core.builtin","DeviceType":"Rst","CurrentValue":6,"MinValue":6.0,"MaxValue":30.0,"Step":0.5,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"heating","BaseDeviceIds":["43e95a01-03bb-4ad4-9deb-2560519cad26","43e95a01-03bb-4ad4-9deb-2560519cad26"],"IconCssClassName":""}]},{"LocationId":"1d41cccd-3e34-4785-a051-6fb04ed36e52","Actuators":[{"Id":"6b134700-ddeb-4573-a712-7abd920efbeb","Name":"Licht unten","Location":"FLUR","AppId":"sh://core.builtin","DeviceType":"Iss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall light","BaseDeviceIds":["ffba6c7a-7841-4df8-b334-88077b5ddd40"],"IconCssClassName":""},{"Id":"6b27d659-d321-441c-8d7b-d614151440a6","Name":"Licht oben","Location":"FLUR","AppId":"sh://core.builtin","DeviceType":"Iss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall light","BaseDeviceIds":["0701aa13-e975-4239-8fd0-fa4ec70de541"],"IconCssClassName":""},{"Id":"7bbef4f3-7178-491e-bae2-d8c2dc8f1037","Name":"Zustandsvariable 1","Location":"FLUR","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["8f82370d-f7b9-44dd-b82f-64f587b9ffb7"],"IconCssClassName":""},{"Id":"b5930fec-7b91-4db2-8d41-aaf6c6f9de9b","Name":"Cola Automat","Location":"FLUR","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":1,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"elecdev","BaseDeviceIds":["ad311b71-b796-467e-8d06-5f45730e7bc9"],"IconCssClassName":""}]},{"LocationId":"3775a3c8-16d6-405e-936a-c2bf5a4aa959","Actuators":[{"Id":"c866e29b-5a48-47f5-8289-7be43399699f","Name":"Licht 2","Location":"KÜCHE","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"light","BaseDeviceIds":["c812cab2-12ba-4f08-b9ef-91521526ff4c"],"IconCssClassName":""},{"Id":"445a4fab-d830-465b-b9c4-c06433ef6798","Name":"Licht 1","Location":"KÜCHE","AppId":"sh://core.builtin","DeviceType":"Iss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall light","BaseDeviceIds":["c13c195b-085e-43aa-91a5-61a706673b25"],"IconCssClassName":""},{"Id":"a880b9fe-96b2-4f26-bf9c-940605723d64","Name":"Rolladen 1","Location":"KÜCHE","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["16d9a4b3-7cdd-410b-8a82-ab923d309083"],"IconCssClassName":""},{"Id":"962bfb15-5665-46cf-a22f-ed87b46de647","Name":"Heizung","Location":"KÜCHE","AppId":"sh://core.builtin","DeviceType":"Rst","CurrentValue":6.0,"MinValue":6,"MaxValue":30,"Step":0.5,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"heating","BaseDeviceIds":["ca396f6b-eef7-41c2-9c61-ee9f27d9f0cc","ca396f6b-eef7-41c2-9c61-ee9f27d9f0cc"],"IconCssClassName":""},{"Id":"6be20bb6-7f78-4ea3-a3f6-5844d7e05155","Name":"Rollladen 1","Location":"KÜCHE","AppId":"sh://core.builtin","DeviceType":"Isr2","CurrentValue":100,"MinValue":0,"MaxValue":100,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall shutter","BaseDeviceIds":["e58950a6-0f43-45c6-be24-faad6ad1ee03"],"IconCssClassName":""},{"Id":"8af37956-e4c0-4ac4-99ac-0251f2e1d40b","Name":"Kaffeeemaschine","Location":"KÜCHE","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"elecdev","BaseDeviceIds":["f3929d19-72ed-4575-aabd-e9ccceac55df"],"IconCssClassName":""},{"Id":"eb84d873-efb6-43ec-97a1-80ed2bdb4aeb","Name":"Abzugshaube","Location":"KÜCHE","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":null,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"elecdev","BaseDeviceIds":["d0702ba8-95fe-4a5f-9a3f-999acce2131d"],"IconCssClassName":""}]},{"LocationId":"fc8c5af3-5601-424b-8f3b-fb659d42d449","Actuators":[{"Id":"8f786845-cb2a-4938-8af6-d832432e5f7d","Name":"Zustandsvariable 1","Location":"KINDERZIMMER","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["bff25ab4-df8a-4613-abb2-cef9384a7840"],"IconCssClassName":""},{"Id":"a9cd32b6-a7d5-421c-b104-9565b684b6e3","Name":"Heizung","Location":"KINDERZIMMER","AppId":"sh://core.builtin","DeviceType":"Rst","CurrentValue":6.0,"MinValue":6,"MaxValue":30,"Step":0.5,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"heating","BaseDeviceIds":["cea92339-7034-4a25-aea1-4520c115e30b","cea92339-7034-4a25-aea1-4520c115e30b"],"IconCssClassName":""},{"Id":"25248bf8-b602-4454-b929-623addd0551d","Name":"Rollladen 1","Location":"KINDERZIMMER","AppId":"sh://core.builtin","DeviceType":"Isr2","CurrentValue":100,"MinValue":0,"MaxValue":100,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall shutter","BaseDeviceIds":["5123ee7e-10bc-4642-8dea-340e8f3b561d"],"IconCssClassName":""}]},{"LocationId":"0d377a79-e6ee-42c5-9207-179ebded4dc8","Actuators":[{"Id":"650f3d77-dcd1-4672-a37d-3e8d7e5178d7","Name":"Kleines Licht","Location":"ESSEN","AppId":"sh://core.builtin","DeviceType":"Pss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"light","BaseDeviceIds":["a286024a-f9f8-48a6-8c23-85c8705327e7"],"IconCssClassName":""},{"Id":"ab45b99d-7019-45b4-b597-89ef1680e265","Name":"Grosses Licht Fenster","Location":"ESSEN","AppId":"sh://core.builtin","DeviceType":"Iss","CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall light","BaseDeviceIds":["244847c4-e2fe-4488-8520-b8f676113b24"],"IconCssClassName":""},{"Id":"3aa1b195-d7b7-4250-a42a-624293718705","Name":"Rolladen 1","Location":"ESSEN","AppId":"sh://VariableActuator.builtin","DeviceType":null,"CurrentValue":0,"MinValue":0,"MaxValue":1,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"VariableActuator-RWE","BaseDeviceIds":["3ca68ed9-abe0-4503-b743-d9bb2e23c5fe"],"IconCssClassName":""},{"Id":"4b40c479-ed34-4013-9faf-f9ca28aba2f6","Name":"Heizung","Location":"ESSEN","AppId":"sh://core.builtin","DeviceType":"Rst","CurrentValue":6.0,"MinValue":6.0,"MaxValue":30.0,"Step":0.5,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"heating","BaseDeviceIds":["70e68bef-c921-4dd3-8875-1f3d3d41ac06","70e68bef-c921-4dd3-8875-1f3d3d41ac06"],"IconCssClassName":""},{"Id":"35e85ddf-8807-4af7-b110-be9cabd45ee2","Name":"Markise 1","Location":"ESSEN","AppId":"sh://core.builtin","DeviceType":"Isr2","CurrentValue":0,"MinValue":0,"MaxValue":100,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall awning","BaseDeviceIds":["2a738961-a3ae-4c8e-b56b-585470002c2f"],"IconCssClassName":""},{"Id":"52eb0908-21b1-49dc-80e5-4843f282fc7f","Name":"Rollladen 1","Location":"ESSEN","AppId":"sh://core.builtin","DeviceType":"Isr2","CurrentValue":100,"MinValue":0,"MaxValue":100,"Step":1,"IsEnabled":true,"IsReadOnly":false,"IsContainer":false,"CssClassName":"inwall shutter","BaseDeviceIds":["f94e6f3d-b626-49cf-9831-ad4aa6ae16f8"],"IconCssClassName":""}]}]); 
        });
    </script>


Ich benötige aus zb. ","CurrentValue":0," die 0 oder 1 je nach Zustand. Wie könnte ich nun da rangehen vielleicht hätte jemand einen Tipp wie ich den Quellcode am besten aufdröseln könnte.

Gruß
Frank

Re: Smarthome read Value

Verfasst: Freitag 11. September 2015, 20:07
von DasIch
Das JsonApi in dem Pfad der URL ist ein Indiz dafür sein dass es möglich ist JSON als Antwort zurückzubekommen statt irgendein HTML Dokument. Da JSON wesentlich einfacher und fehlerfreier zu verarbeiten ist, würde ich versuchen so eine Antwort zu bekommen. Dazu würde ich mal mit den Developer Tools deines Browsers mal zu schauen ob irgendwelche JSON Requests gemacht werden und an die URL einen Request zu schicken mit dem Header "Accept: application/json".