Skip to content

Controlling a device works with Intiface Central UI, but fails with buttplug-js #301

@nroponmain

Description

@nroponmain

I'm trying to control a device with the example in examples/quickstart.html.
Intiface Central 3.0.3+39 (latest Flatpak version)

The device is already connected to Intiface.
When I change the vibration directly Intiface Central via the slider the device vibrates as expected.

Then I open the quickstart.html and connect.
When I press the "Connect & Scan" button I get the following output:

Device connected: Satisfyer Men Vibration+
Connected to Intiface Central
Scanning for devices...

When I press the "Vibrate 50" button the vibration doesn't start.
In the Intiface logs are the following errors:

Got invalid messages from remote Buttplug connection - Message: Text("[{\"OutputCmd\":{\"Id\":4,\"DeviceIndex\":0,\"FeatureIndex\":0,\"Command\":{\"Vibrate\":{\"Value\":[50]}}}}]") - Error: JsonSerializerError("Error during JSON Schema Validation - Message: [{\"OutputCmd\":{\"Command\":{\"Vibrate\":{\"Value\":[50]}},\"DeviceIndex\":0,\"FeatureIndex\":0,\"Id\":4}}] - Error: ValidationError { repr: ValidationErrorRepr { instance: Array [Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(0), \"Id\": Number(4)}}], kind: AnyOf { context: [[ValidationError { repr: ValidationErrorRepr { instance: Array [Number(50)], kind: Type { kind: Single(Number) }, instance_path: Location(\"/0/OutputCmd/Command/Vibrate/Value\"), schema_path: Location(\"/messages/SpecV4Messages/OutputCmd/properties/Command/patternProperties/^(Vibrate|Rotate|Oscillate|Constrict|Spray|Position|Temperature|Led)$/properties/Value/type\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(0), \"Id\": Number(4)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV3/items/additionalProperties\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(0), \"Id\": Number(4)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV2/items/additionalProperties\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(0), \"Id\": Number(4)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV1/items/additionalProperties\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(0), \"Id\": Number(4)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV0/items/additionalProperties\"), absolute_keyword_location: None, .. } }]] }, instance_path: Location(\"\"), schema_path: Location(\"/anyOf\"), absolute_keyword_location: None, .. } }")

Got invalid messages from remote Buttplug connection - Message: Text("[{\"OutputCmd\":{\"Id\":5,\"DeviceIndex\":0,\"FeatureIndex\":1,\"Command\":{\"Vibrate\":{\"Value\":[50]}}}}]") - Error: JsonSerializerError("Error during JSON Schema Validation - Message: [{\"OutputCmd\":{\"Command\":{\"Vibrate\":{\"Value\":[50]}},\"DeviceIndex\":0,\"FeatureIndex\":1,\"Id\":5}}] - Error: ValidationError { repr: ValidationErrorRepr { instance: Array [Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(1), \"Id\": Number(5)}}], kind: AnyOf { context: [[ValidationError { repr: ValidationErrorRepr { instance: Array [Number(50)], kind: Type { kind: Single(Number) }, instance_path: Location(\"/0/OutputCmd/Command/Vibrate/Value\"), schema_path: Location(\"/messages/SpecV4Messages/OutputCmd/properties/Command/patternProperties/^(Vibrate|Rotate|Oscillate|Constrict|Spray|Position|Temperature|Led)$/properties/Value/type\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(1), \"Id\": Number(5)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV3/items/additionalProperties\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(1), \"Id\": Number(5)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV2/items/additionalProperties\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(1), \"Id\": Number(5)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV1/items/additionalProperties\"), absolute_keyword_location: None, .. } }], [ValidationError { repr: ValidationErrorRepr { instance: Object {\"OutputCmd\": Object {\"Command\": Object {\"Vibrate\": Object {\"Value\": Array [Number(50)]}}, \"DeviceIndex\": Number(0), \"FeatureIndex\": Number(1), \"Id\": Number(5)}}, kind: AdditionalProperties { unexpected: [\"OutputCmd\"] }, instance_path: Location(\"/0\"), schema_path: Location(\"/specs/MessageSpecV0/items/additionalProperties\"), absolute_keyword_location: None, .. } }]] }, instance_path: Location(\"\"), schema_path: Location(\"/anyOf\"), absolute_keyword_location: None, .. } }")

When I start vibration via the slider in the Intiface UI, then connect via quickstart.html and press the "Stop" button the vibration stops. So that part works.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions