Ich hab jetzt noch nicht alles drin, aber so sieht es aus und funktioniert. Ist natürlich sehr hemdsärmelig. Schöner wäre es, den Inhalt des JSON auch zum anlegen und aktualisieren der DP zu nutzen ( über Schleifen ).
Dafür bräuchte ich von den Pro's tatsächlich noch mal Hilfe.
! ````
//Datenpunkte ezeugen
! createState('worxx.landroid_state', {name: 'Roboter Status', desc: 'Roboter Status', type: 'string', unit: '', role: 'state'});
createState('worxx.landroid_boardTemperature', {name: 'Temperatur Mainboard', desc: 'Temperatur Mainboard', type: 'number', unit: '°C', role: 'value'});
createState('worxx.landroid_distance', {name: 'Wegstrecke', desc: 'Wegstrecke', type: 'number', unit: 'm', role: 'value'});
createState('worxx.landroid_wheelLeftDistance', {name: 'Wegstrecke Rad Links', desc: 'Wegstrecke Rad Links', type: 'number', unit: 'm', role: 'value'});
createState('worxx.landroid_wheelRightDistance', {name: 'Wegstrecke Rad Rechts', desc: 'Wegstrecke Rad Rechts', type: 'number', unit: 'm', role: 'value'});
createState('worxx.landroid_angle', {name: 'Winkel', desc: 'Winkel', type: 'number', unit: '°', role: 'value'});
createState('worxx.landroid_rainSensor', {name: 'Regensensor', desc: 'Regensensor', type: 'number', unit: '', role: 'value'});
createState('worxx.battery_percentage', {name: 'Batterielevel', desc: 'Batterielevel', type: 'number', unit: '%', role: 'value'});
createState('worxx.battery_voltage', {name: 'Batteriespannung', desc: 'Batteriespannung', type: 'number', unit: 'V', role: 'value'});
createState('worxx.battery_temperature', {name: 'Batterietemperatur', desc: 'Batterietemperatur', type: 'number', unit: '°C', role: 'value'});
createState('worxx.battery_ntcResistance', {name: 'Widerstandswert NTC', desc: 'Widerstandswert NTC', type: 'number', unit: 'Ohm', role: 'value'});
createState('worxx.batterycharger_state', {name: 'Ladegerät Status', desc: 'Ladegerät Status', type: 'string', unit: '', role: 'value'});
createState('worxx.batterycharger_chargeCurrent', {name: 'Ladegerät Ladestrom', desc: 'Ladegerät Ladestrom', type: 'number', unit: 'mA', role: 'value'});
! createState('worxx.motor1_Speed', {name: 'Geschwindigket Motor1', desc: 'Geschwindigket Motor1', type: 'number', unit: '', role: 'value'});
createState('worxx.motor1_maxSpeed', {name: 'max Geschwindigket Motor1', desc: 'max Geschwindigket Motor1', type: 'number', unit: '', role: 'value'});
createState('worxx.motor1_SpeedReduction', {name: 'Reduzierung Motor1', desc: 'Reduzierung Motor1', type: 'number', unit: '', role: 'value'});
createState('worxx.motor1_rpm', {name: 'RPM Motor1', desc: 'RPM Motor1', type: 'number', unit: 'U/Min', role: 'value'});
createState('worxx.motor1_feedbackError', {name: 'Feedbackerror Motor1', desc: 'Feedbackerror Motor1', type: 'number', unit: '', role: 'value'});
createState('worxx.motor1_acceleration', {name: 'Beschleunigung Motor1', desc: 'Beschleunigung Motor1', type: 'number', unit: '', role: 'value'});
createState('worxx.motor1_deceleration', {name: 'Verzögerung Motor1', desc: 'Verzögerung Motor1', type: 'number', unit: '', role: 'value'});
createState('worxx.motor1_fault', {name: 'Fehler Motor1', desc: 'Fehler Motor1', type: 'boolean', unit: '', role: 'value'});
! createState('worxx.motor2_Speed', {name: 'Geschwindigket Motor2', desc: 'Geschwindigket Motor2', type: 'number', unit: '', role: 'value'});
createState('worxx.motor2_maxSpeed', {name: 'max Geschwindigket Motor2', desc: 'max Geschwindigket Motor2', type: 'number', unit: '', role: 'value'});
createState('worxx.motor2_SpeedReduction', {name: 'Reduzierung Motor2', desc: 'Reduzierung Motor2', type: 'number', unit: '', role: 'value'});
createState('worxx.motor2_rpm', {name: 'RPM Motor2', desc: 'RPM Motor2', type: 'number', unit: 'U/Min', role: 'value'});
createState('worxx.motor2_feedbackError', {name: 'Feedbackerror Motor2', desc: 'Feedbackerror Motor2', type: 'number', unit: '', role: 'value'});
createState('worxx.motor2_acceleration', {name: 'Beschleunigung Motor2', desc: 'Beschleunigung Motor2', type: 'number', unit: '', role: 'value'});
createState('worxx.motor2_deceleration', {name: 'Verzögerung Motor2', desc: 'Verzögerung Motor2', type: 'number', unit: '', role: 'value'});
createState('worxx.motor2_fault', {name: 'Fehler Motor2', desc: 'Fehler Motor2', type: 'boolean', unit: '', role: 'value'});
! createState('worxx.motor3_Speed', {name: 'Geschwindigket Motor3', desc: 'Geschwindigket Motor3', type: 'number', unit: '', role: 'value'});
createState('worxx.motor3_maxSpeed', {name: 'max Geschwindigket Motor3', desc: 'max Geschwindigket Motor3', type: 'number', unit: '', role: 'value'});
createState('worxx.motor3_SpeedReduction', {name: 'Reduzierung Motor3', desc: 'Reduzierung Motor3', type: 'number', unit: '', role: 'value'});
createState('worxx.motor3_rpm', {name: 'RPM Motor3', desc: 'RPM Motor3', type: 'number', unit: 'U/Min', role: 'value'});
createState('worxx.motor3_feedbackError', {name: 'Feedbackerror Motor3', desc: 'Feedbackerror Motor3', type: 'number', unit: '', role: 'value'});
createState('worxx.motor3_acceleration', {name: 'Beschleunigung Motor3', desc: 'Beschleunigung Motor3', type: 'number', unit: '', role: 'value'});
createState('worxx.motor3_deceleration', {name: 'Verzögerung Motor3', desc: 'Verzögerung Motor3', type: 'number', unit: '', role: 'value'});
createState('worxx.motor3_fault', {name: 'Fehler Motor3', desc: 'Fehler Motor3', type: 'boolean', unit: '', role: 'value'});
! const landroid_state = 'worxx.landroid_state';
const landroid_boardTemperature = 'worxx.landroid_boardTemperature';
const landroid_distance = 'worxx.landroid_distance';
const landroid_wheelLeftDistance = 'worxx.landroid_wheelLeftDistance';
const landroid_wheelRightDistance = 'worxx.landroid_wheelRightDistance';
const landroid_angle = 'worxx.landroid_angle';
const landroid_rainSensor = 'worxx.landroid_rainSensor';
const battery_percentage = 'worxx.battery_percentage';
const battery_voltage = 'worxx.battery_voltage';
const battery_temperature = 'worxx.battery_temperature';
const battery_ntcResistance = 'worxx.battery_ntcResistance';
const batterycharger_state = 'worxx.batterycharger_state';
const batterycharger_chargeCurrent = 'worxx.batterycharger_chargeCurrent';
! const motor1_Speed = 'worxx.motor1_Speed';
const motor1_maxSpeed = 'worxx.motor1_maxSpeed';
const motor1_SpeedReduction = 'worxx.motor1_SpeedReduction';
const motor1_rpm = 'worxx.motor1_rpm';
const motor1_feedbackError = 'worxx.motor1_feedbackError';
const motor1_acceleration = 'worxx.motor1_acceleration';
const motor1_deceleration = 'worxx.motor1_deceleration';
const motor1_fault = 'worxx.motor1_fault';
! const motor2_Speed = 'worxx.motor2_Speed';
const motor2_maxSpeed = 'worxx.motor2_maxSpeed';
const motor2_SpeedReduction = 'worxx.motor2_SpeedReduction';
const motor2_rpm = 'worxx.motor2_rpm';
const motor2_feedbackError = 'worxx.motor2_feedbackError';
const motor2_acceleration = 'worxx.motor2_acceleration';
const motor2_deceleration = 'worxx.motor2_deceleration';
const motor2_fault = 'worxx.motor2_fault';
! const motor3_Speed = 'worxx.motor3_Speed';
const motor3_maxSpeed = 'worxx.motor3_maxSpeed';
const motor3_SpeedReduction = 'worxx.motor3_SpeedReduction';
const motor3_rpm = 'worxx.motor3_rpm';
const motor3_feedbackError = 'worxx.motor3_feedbackError';
const motor3_acceleration = 'worxx.motor3_acceleration';
const motor3_deceleration = 'worxx.motor3_deceleration';
const motor3_fault = 'worxx.motor3_fault';
! //Funktion aufrufen
! var request = require('request');
! Intervall = setInterval(SendRequest,10000);
! function SendRequest(){
! var options = {
url: 'http://admin:xxxx@192.168.178.64/jsonDebug.cgi'
};
request(options,function (error, response, body){
if (!error){
//console.log(body);
var data = JSON.parse(body);
var arr_motor = data.landroid.motor;
var arr_accell_gravity = data.landroid.accelerometer.gravity;
var arr_accell_angle = data.landroid.accelerometer.angle;
var arr_gyro_angularSpeed = data.landroid.gyroscope.angularSpeed;
var arr_gyro_angle = data.landroid.gyroscope.angle;
//console.warn(arr_gravity[0]);
//console.warn(data.landroid.accelerometer.gravity);
setState(motor1_Speed,(arr_motor[0].speed));
setState(motor1_maxSpeed,(arr_motor[0].maxSpeed));
setState(motor1_SpeedReduction,(arr_motor[0].speedReduction));
setState(motor1_rpm,(arr_motor[0].rpm));
setState(motor1_feedbackError,(arr_motor[0].feedbackError));
setState(motor1_acceleration,(arr_motor[0].acceleration));
setState(motor1_deceleration,(arr_motor[0].deceleration));
setState(motor1_fault,(arr_motor[0].fault));
setState(motor2_Speed,(arr_motor[1].speed));
setState(motor2_maxSpeed,(arr_motor[1].maxSpeed));
setState(motor2_SpeedReduction,(arr_motor[1].speedReduction));
setState(motor2_rpm,(arr_motor[1].rpm));
setState(motor2_feedbackError,(arr_motor[1].feedbackError));
setState(motor2_acceleration,(arr_motor[1].acceleration));
setState(motor2_deceleration,(arr_motor[1].deceleration));
setState(motor2_fault,(arr_motor[1].fault));
setState(motor3_Speed,(arr_motor[2].speed));
setState(motor3_maxSpeed,(arr_motor[2].maxSpeed));
setState(motor3_SpeedReduction,(arr_motor[2].speedReduction));
setState(motor3_rpm,(arr_motor[2].rpm));
setState(motor3_feedbackError,(arr_motor[2].feedbackError));
setState(motor3_acceleration,(arr_motor[2].acceleration));
setState(motor3_deceleration,(arr_motor[2].deceleration));
setState(motor3_fault,(arr_motor[2].fault));
}
else{ console.error(error);}
});