Hello.
Concerning a problem of input of Captcha
Maybe it is worth using API from Google for Geotarget?
Hello.
Concerning a problem of input of Captcha
Maybe it is worth using API from Google for Geotarget?
Сделано на основании информации отсюда viewtopic.php?t=17435 и уважаемого автора Александра @cahek2202
Скрипт, который получает координаты с мобилы и на основании координат считает расстояния до заданных точек. И потом реагирует как нужно.
Расстояние с гугл/яндекс карт не совпадает с расчётным. хз как на картах считается расстояние. Имейте ввиду.
//данный блок лучше убрать в global секцию --- начало блока
//Координаты дома и важных мест
var long_дом =xx.xxxxxxxxxxxxxx;
var alt_дом =xx.xxxxxxxxxxxxxx;
var long_офис =xx.xxxxxxxxxxxxxx;
var alt_офис =xx.xxxxxxxxxxxxxx;
var long_школа =xx.xxxxxxxxxxxxxx;
var alt_школа = xx.xxxxxxxxxxxxxx;
//Мобила один - расстояния до объектов – ID 43a43eff узнаётся после получения первой посылки с мобилы
createState('javascript.0.GPSLogger.43a43eff.доДома');
createState('javascript.0.GPSLogger.43a43eff.доОфиса');
createState('javascript.0.GPSLogger.43a43eff.доШколы');
//Мобила два - расстояния до объектов – ID 47fff2aa узнаётся после получения первой посылки с мобилы
createState('javascript.0.GPSLogger.47fff2aa.доДома');
createState('javascript.0.GPSLogger.47fff2aa.доОфиса');
createState('javascript.0.GPSLogger.47fff2aa.доШколы');
//Переменные в MQTT для работы скриптов автовключения света при приближении к дому
createState('javascript.0.MyHome.ЛюдиДома'); //флаг присутствия людей дома
createState('javascript.0.MyHome.ProjON'); //флаг включения прожекторов
//данный блок лучше убрать в global секцию --- конец блока
//Сам скрипт
//Скрипт получения координат с мобильнх телефонов
//слушаем порт 8090 и получаем с него по POST запросу данные
var http = require('http');
var server = http.createServer().listen(8090);
var userA;
server.on('request', function (req, res) {
res.writeHead(200);
if (req.method == 'POST') {
var body = '';
}
req.on('data', function (data) {
body += data;
console.log(body);
});
req.on('end', function () {
temp = body.split('&');
var obj = {};
res.write('hi');
res.end();
for (var key in temp) {
temp2 = temp[key].split('=');
var objkey = temp2[0];
var objval = temp2[1];
obj[objkey] = objval;
}
if (getState('javascript.0.GPSLogger.' + obj.deviceid + '.deviceid').val) {
for (var param in obj) {
setState('javascript.0.GPSLogger.' + obj.deviceid + '.' + param, obj[param], true);
}
} else {
for (param in obj) {
createState('GPSLogger.' + obj.deviceid + '.' + param, obj[param]);
}
}
});
});
//Реагируем на изменение координат всех мобил, которые шлют данные
on({id: /^javascript\.0\.GPSLogger.*\.latitude$/, change: "any"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
var numberA = obj.id.substring(31, 23);
//Блок необходимый для places. Если places не используется, блок можно удалить.
//получаем ID мобилы
//соотносим имя из plces.0 и ID мобилы из скрипта
if (numberA == '43a43eff') { userA = 'ИмяЧеловека1'; }
else if (numberA == '47fff2aa') { userA = 'ИмяЧеловека2'; }
//Записываем данные в объекты places
sendTo("places.0", {
user: userA,
latitude: value,
longitude: getState('javascript.0.GPSLogger.' + numberA + '.longitude').val,
timestamp: getDateObject(getState('javascript.0.GPSLogger.' + numberA + '.latitude').ts).getTime()
});
//Конец блока для places
//Берём записанные в mqtt свежие координаты
var long_target = getState('javascript.0.GPSLogger.' + numberA + '.latitude').val;
var alt_target = getState('javascript.0.GPSLogger.' + numberA + '.longitude').val;
//Cчитаем расстояние в метрах от мобилы до каждого объекта. Записываем в mqtt
setState('javascript.0.GPSLogger.' + numberA + '.доДома', (6371*1000*Math.acos(Math.sin(Math.PI*alt_дом/180)*Math.sin(Math.PI*alt_target/180)+Math.cos(Math.PI*alt_дом/180)*Math.cos(Math.PI*alt_target/180)*Math.cos(Math.PI*(long_дом-long_target)/180))).toFixed());
setState('javascript.0.GPSLogger.' + numberA + '.доОфиса', (6371*1000*Math.acos(Math.sin(Math.PI*alt_офис/180)*Math.sin(Math.PI*alt_target/180)+Math.cos(Math.PI*alt_офис/180)*Math.cos(Math.PI*alt_target/180)*Math.cos(Math.PI*(long_офис-long_target)/180))).toFixed());
setState('javascript.0.GPSLogger.' + numberA + '.доШколы', (6371*1000*Math.acos(Math.sin(Math.PI*alt_школа/180)*Math.sin(Math.PI*alt_target/180)+Math.cos(Math.PI*alt_школа/180)*Math.cos(Math.PI*alt_target/180)*Math.cos(Math.PI*(long_школа-long_target)/180))).toFixed());
//Отправить в телеграмм расстояния до объектов в метрах. Нужно для отладки.
//SendToTelegram(userA +' до дома '+ (6371*1000*Math.acos(Math.sin(Math.PI*alt_дом/180)*Math.sin(Math.PI*alt_target/180)+Math.cos(Math.PI*alt_дом/180)*Math.cos(Math.PI*alt_target/180)*Math.cos(Math.PI*(long_дом-long_target)/180))).toFixed(), getState('telegram.0.communicate.requestChatId').val);
//SendToTelegram(userA +' до офиса '+ (6371*1000*Math.acos(Math.sin(Math.PI*alt_офис/180)*Math.sin(Math.PI*alt_target/180)+Math.cos(Math.PI*alt_офис/180)*Math.cos(Math.PI*alt_target/180)*Math.cos(Math.PI*(long_офис-long_target)/180))).toFixed(), getState('telegram.0.communicate.requestChatId').val);
//SendToTelegram(userA +' до школы ' + (6371*1000*Math.acos(Math.sin(Math.PI*alt_школа/180)*Math.sin(Math.PI*alt_target/180)+Math.cos(Math.PI*alt_школа/180)*Math.cos(Math.PI*alt_target/180)*Math.cos(Math.PI*(long_школа-long_target)/180))).toFixed(), getState('telegram.0.communicate.requestChatId').val);
//Блок проверки
//Выключить весь свет, когда расстояния до мобил больше 400 метров и дома кто то был
if ((getState('javascript.0.MyHome.ЛюдиДома').val) && (getState('javascript.0.GPSLogger.43a70ef7.доДома').val > 400) && (getState('javascript.0.GPSLogger.477182ff.доДома').val > 400)) {
setState('javascript.0.MyHome.ЛюдиДома', false);
setState('javascript.0.MyHome.ProjON', false);
Управление_Светом('мы уехали'); }
//Включить весь свет, когда расстояния до мобил меньше 400 метров и дома никого нет
if (!(getState('javascript.0.MyHome.ProjON').val) && ((getState('javascript.0.GPSLogger.43a70ef7.доДома').val < 400) || (getState('javascript.0.GPSLogger.477182ff.доДома').val < 400))) {
setState('javascript.0.MyHome.ЛюдиДома', true);
setState('javascript.0.MyHome.ProjON', true);
Управление_Светом('мы приехали'); }
//Включить прожекторы при приближении к дому ближе 1000 метров
if (!(getState('javascript.0.MyHome.ProjON').val) && ((getState('javascript.0.GPSLogger.43a70ef7.доДома').val < 1000) || (getState('javascript.0.GPSLogger.477182ff.доДома').val < 1000))) {
setState('javascript.0.MyHome.ProjON', true);
Управление_Светом('включи все прожекторы'); }
});
#скрипт #телеграмм #расстояние #координаты #gps #гео #геолокация #определение #координаты
Hello.
Radar driver not see bluetooth devices.
What i do wrong ? Help please !
radar.0 2018-10-26 22:29:13.075 warn radar initialization finished with error SyntaxError: Unexpected token c in JSON at position 0 at Object.parse (native) at pGet.then.res (/opt/iobroker/node_modules/iobroker.radar/radar.js:820
radar.0 2018-10-26 22:29:08.906 warn MAC addresses '00:xx:xx:xx:xx:FD' will not be scanned because no arp-scan is available!
System CentOS 7.0
22:32:20-root@home.angelok.ru:~# arp-scan -V
arp-scan 1.9.2
Copyright (C) 2005-2013 Roy Hills, NTA Monitor Ltd.
arp-scan comes with NO WARRANTY to the extent permitted by law.
You may redistribute copies of arp-scan under the terms of the GNU
General Public License.
For more information about these matters, see the file named COPYING.
libpcap version 1.5.3 `
i found a problem and fix them.
everywhere where arp-scan is caused
pExec('arp-scan -lgq –retry=7')
i add the interface
pExec('arp-scan --interface enp1s0 -lgq --retry=7')
after that the script works normally
Hello.
Radar driver not see bluetooth devices.
What i do wrong ? Help please !
radar.0 2018-10-26 22:29:13.075 warn radar initialization finished with error SyntaxError: Unexpected token c in JSON at position 0 at Object.parse (native) at pGet.then.res (/opt/iobroker/node_modules/iobroker.radar/radar.js:820
radar.0 2018-10-26 22:29:08.906 warn MAC addresses '00:xx:xx:xx:xx:FD' will not be scanned because no arp-scan is available!
System CentOS 7.0
22:32:20-root@home.angelok.ru:~# arp-scan -V
arp-scan 1.9.2
Copyright (C) 2005-2013 Roy Hills, NTA Monitor Ltd.
arp-scan comes with NO WARRANTY to the extent permitted by law.
You may redistribute copies of arp-scan under the terms of the GNU
General Public License.
For more information about these matters, see the file named COPYING.
libpcap version 1.5.3
Hey,
die aktuelle Version des Adapters auf Github liefert sehr viele neue Debugmeldungen. Es wäre super, wenn die Leute bei denen es nicht klappt diese Version installieren und den Log-Modus auf Debug schalten würden. Bitte schickt mir das Log dann per PN. `
Thank my friend.
This my log.
I think Google want some captha
! google-sharedlocations.0 2018-10-13 12:26:12.443 debug sendTo "checkConnection" to system.adapter.admin.0 from system.adapter.google-sharedlocations.0: false
! google-sharedlocations.0 2018-10-13 12:26:12.442 debug [google auth] Connection third stage failed due to an additional verification that could not be identified!
! google-sharedlocations.0 2018-10-13 12:26:12.442 debug [google auth] Additional verification stage failed, Google checks for a human.
! google-sharedlocations.0 2018-10-13 12:26:12.440 debug [google auth] Connection third stage additional verification needed.
! google-sharedlocations.0 2018-10-13 12:26:11.823 debug [google auth] Connection third stage
! google-sharedlocations.0 2018-10-13 12:26:11.821 debug [google auth] Connection second stage successful
! google-sharedlocations.0 2018-10-13 12:26:11.055 debug [google auth] Connection second State
! google-sharedlocations.0 2018-10-13 12:26:11.054 debug [google auth] Connection first stage successfull
! google-sharedlocations.0 2018-10-13 12:26:10.268 debug [google auth] Connection First State
! google-sharedlocations.0 2018-10-13 12:26:00.569 debug sendTo "getUsersFromDB" to system.adapter.admin.0 from system.adapter.google-sharedlocations.0
Ich schlage folgendes Vorgehen vor, wenn die Verbindung nicht Zustande kommt.
Google-Account: Das ist der "normale" Account
Iobroker-Account: Das ist der Account, mit dem Standortdaten geteilt werden. Bei diesem Account kann/sollte als Recovery-Email die Adresse des "normalen" Accounts eingetragen sein, damit man Warnungen etc. empfangen kann.
Problem: Die Verbindung kommt nicht zustande.
1. Prüfen, ob alle Daten korrekt eingegeben worden sind
2. E-Mails des Google-Accounts abfragen und schauen ob ungewöhnliche Aktivitäten gemeldet wurden
Falls ja: In den Iobroker-Account einloggen und bestätigen, dass diese Aktivität ok ist. Dies kann auch mehrfach hintereinander nötig sein.
Falls nein: In den Iobroker-Account einloggen und schauen ob irgendeine Interaktion erforderlich ist wie beispielsweise die Bestätigung neuer AGBs etc.
Bitte um Feedback. `
My friend, help please.
I yes to the third-party account access to locations of three accounts.
In maps.google I see all three locations at the chosen account.
In ioBroker I have entered the login, the password from the account of Google. And mail for restoration stated in this account in google.
All the same I receive a connection error - Connection test Connection failed.
There are no messages in the account of Google about attempt of authorization from the new device.
Internet access from the server is.
I put the log of the driver in the debug mode:
google-sharedlocations.0 2018-10-09 16:41:35.023 debug stateChange google-sharedlocations.0.info.connection {"val":false,"ack":false,"ts":xxxxxxxxxxxxx,"q":0,"from":"system.adapter.google-sharedlocations.0","lc":xxxxxxxxxxxxx}
google-sharedlocations.0 2018-10-09 16:41:34.997 error First connection failed.
google-sharedlocations.0 2018-10-09 16:41:32.332 info Starting google shared locations adapter
google-sharedlocations.0 2018-10-09 16:41:32.332 info starting. Version 1.5.2 in /opt/iobroker/node_modules/iobroker.google-sharedlocations, node: v6.14.3
host.home 2018-10-09 16:41:27.896 info instance system.adapter.google-sharedlocations.0 started with pid 29286
host.home 2018-10-09 16:41:25.905 info instance system.adapter.google-sharedlocations.0 terminated with code 0 (OK)
host.home 2018-10-09 16:41:25.351 info stopInstance system.adapter.google-sharedlocations.0 killing pid 29140
host.home 2018-10-09 16:41:25.350 info stopInstance system.adapter.google-sharedlocations.0
host.home 2018-10-09 16:41:25.346 info object change system.adapter.google-sharedlocations.0
google-sharedlocations.0 2018-10-09 16:41:25.326 info cleaned everything up…
uname -a
Linux host.home 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
npm -v
3.10.10
node -v
v6.14.3
Gebe ich das Konto in dem Adapter ein, so bekomme ich "Connection Failed" bei Verbindung Prüfen…
Im Konto selbst ist "Konto mit der Bestätigung in zwei Schritten schützen - aus"
Im Feld Benutzername trage ich meine blabla@gmail.com ein.
Im Feld Password trage ich das dazugehörige Password ein.
Email zur Kontowiederherstellung trage ich die gleiche ein.
Help :?: :?: :?:
` > Google shared locations
Verfügbare Version:
Installierte Version: 1.5.2
Installierte Instanzen: 1 `
Grüsse Schweiz `
Help please.
Have this problem too.
Камрады, а скрипт рабочий не появился ?
Или втут скрипт функциональный ?
меня плюсани.
или заглохла тема ?
а как/где это сделать ? `
Может для начала осилить первое сообщение? `
Осилил
Я пытался через MiHome настроить.
Естесно болт.
Но в конечном итоге всё управляется !
Большое спасибо !!!
2748_send04.jpg
2748_send05.jpg
2748_send03.jpg
2748_send02.jpg
2748_send01.jpg