Google Home (Assistant) mit IP-Symcon verbinden

Da gibt es scheinbar Probleme mit der Verbindung zu Google. Ich schaue mal, dass ich passende Fehlermeldungen anzeige. Dann kannst du hoffentlich auch herausfinden, was bei der Verbindung nicht passt.

So, in der neuen Version kommen Fehlermeldungen, wenn etwas nicht klappt. Dann kannst du hoffentlich sehen, warum deine Verbindung nicht klappt.

Hallo Niels,

die Fehlermeldung ist jetzt anders
Bildschirmfoto 2018-04-25 um 20.07.40.png

Es gibt sonst keine Fehlermeldungen im Meldungsfenster.
Auch nicht im Debug Fenster

Gruss Jan Peter

Entsprechendes Update ist online. Jetzt sollte es passende Fehlermeldungen geben.

Na dann hoffe ich dir hilft das hier:

Gruss Jan Peter

Laut Fehlermeldung konnte die Verbindung nicht hergestellt werden. Das kann nun verschiedene Gründe haben. Prüfe am besten mal deine Firewall.

Hallo NIels,

ich kann mir nicht vorstellen das es an der Firewall liegt.
Die Funktion Google Assist geht vollständig, nur der Update Button hat ein Problem.

Ich habe derzeit 6 Lampen die wunderbar uber Google geschaltet werden.

Gruss Jan Peter

Auf jeden Fall wird die Verbindung nicht hergestellt. Hier hast du mal ein Minimalskript, dass eine (unvollständige) Anfrage verschickt und die Antwort ausgibt:



$data = '{}';

$result = file_get_contents('https://homegraph.googleapis.com/v1/devices:requestSync', false, stream_context_create([
    'http' => [
        'method'           => 'POST',
        'header'           => "Content-type: application/json
Connection: close
Content-length: " . strlen($data) . "
",
        'content'          => $data,
        'ignore_errors'    => true
    ]
]));

echo $result;


Probier das Skript mal bei dir aus. Wenn alles passt, dann bekommst du die Fehlermeldung, dass ein API-Key fehlt:


{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "status": "PERMISSION_DENIED"
  }
}

Ansonsten passt etwas bei der Verbindung nicht und du musst mal schauen.

Hi, hier die entstandenen Meldungen:

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /Library/Application Support/Symcon/scripts/49823.ips.php on line 7

Warning: file_get_contents(): Failed to enable crypto in /Library/Application Support/Symcon/scripts/49823.ips.php on line 7

Warning: file_get_contents(Error 404 (Not Found)!!1:slight_smile: failed to open stream: operation failed in /Library/Application Support/Symcon/scripts/49823.ips.php on line 7

Welche Version von IP-Symcon nutzt du genau und auf welchem MacOS? Ich kann das Problem hier auf meinem Mac nämlich nicht nachstellen.

paresy

hi

IPS Version 5.0 2aec67c249a137d9336ad5d2dceb8760a1d6d6e0

MAC mini von 2012

Bildschirmfoto 2018-04-29 um 16.19.11.png

Ich habe mal eine Funktion für das Hinzufügen von Geräten geschrieben:

<?
$hbid=31777 /*Google Assistant*/;

alexa_add($hbid,"lightswitch","Licht Test 6",31578,"");

function alexa_add($hbid,$devicegroup,$name,$varid,$varid2)
{
$debug=false;

switch ($devicegroup) {
    case "sences":
        echo "Es ist eine Zene
";
        $Accessory="DeviceSceneDeactivatable";
        break;
    case "dooropener":
        echo "Es ist ein Garagentoröffner
";
        $Accessory="AccessoryGarageDoorOpener";
        break;
    case "humiditysensor":
        echo "Es ist ein Luftfeuchtigkeitsmesser
";
        $Accessory="AccessoryHumiditySensor";
        break;
    case "lightcolor":
        echo "Es ist ein Lichtfarbe
";
        $Accessory="DeviceLightColor";
        break;    
     case "lightsensor":
        echo "Es ist ein Licht Sensor
";
        $Accessory="AccessoryLightSensor";
        break;         
     case "moitionsensor":
        echo "Es ist ein Bewegungs Sensor
";
        $Accessory="AccessoryMotionSensor";
        break;      
    case "smokesensor":
        echo "Es ist ein Rauch Sensor
";
        $Accessory="AccessorySmokeSensor";
        break; 
    case "switch":
        echo "Es ist ein Schalter
";
        $Accessory="AccessorySwitch";
        break; 
    case "temperaturesensor":
        echo "Es ist ein Temperatur Sensor
";
        $Accessory="AccessoryTemperatureSensor";
        break; 
    case "lightswitch":
        echo "Es ist ein Lichtswitch
";
        $Accessory="DeviceLightSwitch";
        break;

    case "dimmer":
        echo "Es ist ein Dimmer
";
        $Accessory="DeviceLightDimmer";
        break;
}
#***************** Config lesen *********************
$settings=IPS_GetProperty($hbid, $Accessory);
$json_input=json_decode($settings,true);
if ($debug==true) print_r($json_input);
$lastkey=0;
$suchen=$varid;
$vorhanden=false;
if (empty($json_input) != true)
{
#***************** Kontrolle ob das Gerät schon exestiert *********************
foreach ($json_input as $array)
{
$vorhanden=array_search($suchen,$array,true);
}
$keys=array_keys($json_input);
$firstkey = (isset($keys[0])) ? $keys[0] : null;
$lastkey = (isset($keys[count($keys)-1])) ? $keys[count($keys)-1] : null;
if ($debug==true) print_r($lastkey);
}

#********************************** grösste ID finden *************************************************
$devices=array("DeviceLightColor","DeviceLightDimmer","DeviceLightSwitch","DeviceSceneDeactivatable");
$max=0;
foreach ($devices as $deviceart)
{
$settings=IPS_GetProperty($hbid, $deviceart);
$json=json_decode($settings,true);
$dimmer_keyvalue=0;

if (empty($json) != true)
{
$keys=array_keys($json);
$firstkey = (isset($keys[0])) ? $keys[0] : null;
$dimmer_lastkey = (isset($keys[count($keys)-1])) ? $keys[count($keys)-1] : null;
$dimmer_keyvalue=$json[$dimmer_lastkey]['ID'];
if ($dimmer_keyvalue >$max) $max =$dimmer_keyvalue;
}}
#********************************** alles Zusammenbauen *************************************************

if ($vorhanden == true) print "Das Gerät gibt es schon
";
#***************** Weitermachen, wenn das Gerät noch nicht exestiert *********************
if ($vorhanden == false) 
{
print "Das Gerät gibt es nocht nicht, ich lege es an...
";
if ($debug==true) print $max;

$id=$max +1;
if ($Accessory=="DeviceLightDimmer") $newarray=array($lastkey => array("ID"=> $id, "Name" => $name, "BrightnessOnOffID" => $varid));
if ($Accessory=="DeviceLightSwitch") $newarray=array($lastkey => array("ID"=> $id, "Name" => $name, "OnOffID" => $varid));
if ($Accessory=="DeviceLightColor") $newarray=array($lastkey => array("ID"=> $id, "Name" => $name, "ColorSpectrumBrightnessOnOffID" => $varid));
if ($Accessory=="DeviceSceneDeactivatable") $newarray=array($lastkey => array("ID"=> $id, "Name" => $name, "SceneDeactivatableActivateID" => $varid,"SceneDeactivatableDeactivateID" => $varid2));
if (empty($json_input)==false)$finalarray=array_merge($json_input,$newarray);
else $finalarray=$newarray;

$temp=json_encode($finalarray);
if ($debug==true) print $temp;
IPS_SetProperty($hbid,$Accessory,$temp);
IPS_ApplyChanges($hbid );
}}
?>

ich hoffe es sind keine Fehler mehr drin…

Wann gibt es den Rollläden und die Heizung in G.A. ?

Rolläden werden wohl noch dauern, da es diese von seiten Google noch nicht als Gerätetyp gibt. Bei der Heizung sieht das besser aus. Da werde ich mich demnächst mal drum kümmern.

Hi ,

I installed module , and added some lights (status OK) , connect status also states OK…and can control from my app.

But when i try to add symcon to my google home i get the error : „IP-Symcon is not properly configured“
If i press „request device update“ i get failed.
10-05-2018 15:05:27 | Request Sync Failed | {<LF> „error“: {<LF> „code“: 404,<LF> „message“: „Requested entity was not found.“,<LF> „status“: „NOT_FOUND“<LF> }<LF>}<LF>

Other info that may be inportant.
WHS2011 , port of webinterface ip-symcon changed to 82 (80 already used)

Sometimes it helps to restart the IP-Symcon service. Can you try that?

paresy

@paresy

Forgot to mention what i already tried.

  • disable and enable connect
  • restart service
  • restart pc
  • restore backup 4.x version , reupdate to 5.0 , reinstall module
  • disable firewall
  • setup DMZ to server
  • restore port of ip-symcon to defalut 80

No change with all…connect keeps working…i can connect with my xxxxxx.ipmagic.de address.
But the oauth.ipmagic.de page that pops up after selecting ip-symcon in home app…keeps giving error „IP-Symcon is not properly configured“

Let me know if you need any log or other info.

Thanks!

Hi,

das Problem der Akutaliiserung der der Lampen besteht weiterhin auf dem MAC.
Aus einem Raspberry alles okay.

Ich habe es zusätzlich auf einem IMAC installiert, es zeigt sich das selbe Bild wie aus dem ersten MAC.

Gruss
Jan Peter

@janpeterdietz: Das Problem ist zum nächsten Update endlich korrigiert!

paresy

vielen Dank und Gruss